【发布时间】:2014-11-28 10:54:56
【问题描述】:
我正在尝试使用 Codebloks Nightly svn 9916 编译以下代码
#include "Main.h"
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
从 Codeblocks 内部运行可执行文件,它会按预期返回 Hello World!。但是如果从外部启动可执行文件,它会返回应用程序错误0xc000007b。这意味着系统类型(32 位或 64 位)不适合,或者可执行文件已损坏。但我不明白为什么在从 Codeblocks 执行时编译很好。
可执行文件本身是 32 位 (x86),从 32 位或 64 位 cmd 运行它不会产生任何变化。
数据: Windows 7 专业版 64 位 GNU GCC 编译器
编辑:解决方法
将 c++ 库与可执行文件静态链接。如果 c++ 标准库不可用,windows 似乎无法执行。
【问题讨论】:
-
您可能需要在您的路径或可执行文件所在目录中的一个或多个 gcc dll 文件。 Dependency Walker 有助于查看缺少的内容。
-
Main.h 只是一个空白的自动生成的标题
-
@Matze:找到解决方案后,将其发布为答案。
标签: c++ c windows codeblocks