c++ 程序不能从外部 运行 正确 code::blocks

c++ program not running properly from outside code::blocks

我正在使用 Code::Blocks 和 MinGW 构建 C++ 程序。当我运行在Code::Blocks中编译的程序时,它工作得很好。但是,当我尝试从 Code::Blocks 外部 运行 相同的 exe 时,程序未 运行ning 并给出两个错误:

  1. 该程序无法 运行,因为您的计算机缺少 libgcc_s_dw2-1.dll。
  2. 该程序无法 运行 因为您的计算机缺少 libstdc++-6.dll。

我看过其他 SO 问题的答案,但 none 的答案对我有用。

我尝试过的:

  1. 将C:/MinGW/bin的两个文件复制粘贴到exe所在文件夹

    -这工作正常,但一次又一次将这些文件复制并粘贴到您的所有项目变得很尴尬。

  2. 将 PATH 变量设置为 C:/MinGW/bin.

  3. 在编译器和调试器设置对话框中,转到链接器设置>>其他链接器选项并在其中添加行 -static-libgcc -static-libstdc++

Edit 我正在添加我可以找到的编译器标志的图像:

我按照以下方式设置了路径:

(注意我在D盘有MinGW安装目录作为MinG的名字)

可能的解决方案:

  • 构建一个完全静态的版本(--static编译器标志)
  • 使用 -static-libstdc++ -static-libgcc 作为链接器标志构建
  • 将文件 libgcc_s_dw2-1.dlllibstdc++-6.dll(以及任何其他依赖项,如果有的话)复制到与您的 .exe 文件相同的文件夹中