【发布时间】:2019-03-24 08:34:03
【问题描述】:
当我尝试在Code::Blocks IDE 中运行我的 C++ 项目时,它会在 Windows CMD 中运行程序而没有任何问题。如果我尝试通过资源管理器运行程序,它也会在 CMD 中运行,没有任何问题。
但是,如果我尝试通过 CLion 运行完全相同的程序,它会在 CLion 本身中运行良好(CLion 具有内置终端,而 Code::Blocks 使用 Windows CMD)。但是如果我尝试通过资源管理器运行程序,我会收到这个奇怪的错误:
如果我按确定:
谁知道问题出在哪里?我该如何解决这个问题?
更多信息:
Code::Blocks 与 MinGW 打包在一起。使用CLion,我不得不手动下载工具链。我下载并安装了MinGW-w64,因为我什么都不知道,这也是 Code::Blocks 使用的。
奇怪的是,MinGW-w64 安装在“Program Files (x86)”中,而不是“Program Files”中。
【问题讨论】:
-
好像MinGW
bin(或lib)目录不在%PATH%中。 -
你的程序并不独立于整个世界。您的程序需要编译器的运行时库对其可见才能运行。这是因为您使用共享运行时设置编译程序。所以,要解决这个问题,要么按照一些程序员老兄所说的,将 gcc 的 bin 目录添加到环境变量 %PATH% 中,要么在静态运行时设置中编译。
-
@TheQuantumPhysicist 我希望程序可以在任何计算机上运行,而无需安装 MinGW。如何在 CLion 中“在静态运行时设置中编译”?抱歉问我只是个学生。
-
@ilivss 你让我想起了我很小的时候……就像 18 年前一样。我在使用 Visual C++ 6 时遇到了同样的问题。无论如何,我认为将标志
-static添加到您的编译命令中应该可以做到。阅读有关在 MinGW 中与运行时库进行静态链接的更多信息,以了解更多信息。
标签: c++ codeblocks c++17 clion mingw-w64