c++ - 代码块编译不可执行

标签 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 编译器

编辑:解决方法

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

最佳答案

静态链接 C++ 默认库有效。

只需将 -static-libstdc++ 添加到您的链接语句

关于c++ - 代码块编译不可执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26177978/

相关文章:

c - 当我必须指定内存大小时,malloc 数组和常规数组之间有什么区别?

c# - 我如何在 C# 中执行 sscanf

windows - Windows 中的 Apache 通配符虚拟主机 (xampp)

windows - Windows 上的 ssh-copy-id 不起作用 : No such file or directory

windows - 同时使用powershell等待进程

c++ - 如何使用 QT 打印 prn 文件?

c++ - 如何找出 Windows 中实际安装了多少内存?

c - 使用 Pthread (main) C 打印结果

c++ - 为什么 GCC 优化不适用于 valarrays?

c++ - 使用文本样式而不是颜色突出显示语法?