我的计算机中的cout命令中有这个问题。我使用MingW和Netbeans来学习C ++。我尝试使用以下代码编译和运行程序。
#include <iostream>
int main(){
int x = 5;
int y = 7;
std::cout << std::endl;
std::cout << x + y << " " << x * y;
std::cout << std::endl;
return 0;
}
此代码保存为xycalculation.cpp,我使用Windows XP SP2计算机上的g++ -o xycalc.exe xycalculation.cpp
命令对其进行编译。
我在PATH中设置了这个环境变量。
C:\窗口\ system32; C:\ WINDOWS; C:\ Windows \ System32下\ WBEM; d:\ Qt的\ Qt5.0.1 \ 5.0.1 \ mingw47_32 \ BIN; d:\ MinGW的\ BIN; d:\ MinGW的\ MSYS \ 1.0 \ BIN
此代码编译正常并创建xycalc.exe文件。当我尝试通过命令行xycalc.exe
运行它时,它会给我一个Windows错误消息并退出而不提供任何输出。
当我点击“有关此错误的详细信息,请单击此处”链接时显示错误的详细信息。
AppName: xycalculation.exe AppVer: 0.0.0.0 ModName: libstdc++-6.dll
ModVer: 0.0.0.0 Offset: 000952a0
任何人都可以给我指示纠正这个问题吗?对我来说继续学习这门语言会很有帮助。
提前致谢。
答案 0 :(得分:1)
将-static-libgcc
和-static-libstdc++
添加到命令行以静态链接libs或将它们放在与exe相同的文件夹中。
答案 1 :(得分:1)
您收到此错误的原因是因为默认情况下您的编译器不会将libstdc++
编译到您的程序中。
我使用代码块,但您可以使用MinGW编译器复制错误,并尝试在控制台的代码块之外运行程序。
要解决此问题,您应该添加:
-static-libgcc (C)
-static-libstdc++ (C++)
到您的链接器标志,它会将库编译到您的EXE中(更大的EXE但它会运行)。