代码块编译不可执行

时间:2014-10-03 11:14:54

标签: c++ c windows codeblocks

我尝试使用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编译器

编辑:Workarround

将c ++库与可执行文件静态链接起作用。如果c ++标准库不可用,似乎windows无法执行它。

2 个答案:

答案 0 :(得分:1)

静态链接C ++默认库。

只需将-static-libstdc++添加到您的关联语句

即可

答案 1 :(得分:0)

我建议您再次从statch设置您的编译器以查看是否导致该问题,我建议观看this video,它几​​乎描述了如何从第1步开始。