我正在尝试使用 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 似乎无法执行它。
最佳答案
静态链接 C++ 默认库有效。
只需将 -static-libstdc++
添加到您的链接语句
关于c++ - 代码块编译不可执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26177978/