我刚刚在http://sourceforge.net/projects/mingw-w64/?source=dlp下载了适用于Windows的MinGW 64位(我还不习惯使用Linux) 当我编译以下代码时,我没有错误:
#include <iostream>
int main()
{
std::cout << "Code 64 bit :D !" << std::endl;
return 0;
}
此外,当我在Code :: Blocks中执行程序时,eveything工作正常(使用cb_console_runner.exe)。当我在Code :: Blocks之外执行我的程序时,会出现问题。我收到错误&#34;应用程序无法正常启动(0xc000007b)&#34;。顺便说一句,我翻译了法语的错误。你知道这是什么问题或我如何调试这个问题吗?哦,我忘记了:当代码为空时(例如当int main(){return0;})时,我没有收到任何错误。
谢谢!
答案 0 :(得分:3)
当GCC的标准C ++库(libstdc ++)(或者libgcc)不在你的%PATH%
中时,我已经看到过这种情况。此外,这可能也是您的路径中具有相同DLL的不匹配版本(即32位版本)的情况。使用Dependency Walker之类的东西来确定这一点。
当您的程序为空时,这不会发生,因为您没有使用标准C ++库中的任何符号,因此它没有与您的应用程序链接。但是,当您使用std::cout
引用C ++库中定义的符号时,必须将其链接。