输出整数时,C ++程序异常退出

时间:2013-04-16 02:53:09

标签: c++ cout

我的计算机中的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

任何人都可以给我指示纠正这个问题吗?对我来说继续学习这门语言会很有帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

-static-libgcc-static-libstdc++添加到命令行以静态链接libs或将它们放在与exe相同的文件夹中。

答案 1 :(得分:1)

您收到此错误的原因是因为默认情况下您的编译器不会将libstdc++编译到您的程序中。

我使用代码块,但您可以使用MinGW编译器复制错误,并尝试在控制台的代码块之外运行程序。

要解决此问题,您应该添加:

-static-libgcc (C) 
-static-libstdc++ (C++) 

到您的链接器标志,它会将库编译到您的EXE中(更大的EXE但它会运行)。