【发布时间】:2016-07-28 01:30:05
【问题描述】:
在 Eclipse 中,我使用 mingw-w64 V5.3.0 作为编译器,并且启用了 C++11(这是以下相关帖子 here 和 here 中的解决方案)。我的编译命令如下(来自 Eclipse 控制台窗口):
g++ -std=c++11 -O0 -g3 -Wall -c -fmessage-length=0 -o "src\Launch.o" "..\src\Launch.cpp"
我尝试运行的简单代码如下:
#include <stdio.h>
#include <iostream>
#include <string>
int main()
{
std::string test = std::to_string(0);
std::cout <<"HI" << std::endl;
return 0;
}
程序可以编译,但出现问题中所述的错误。在没有to_string 行的情况下运行它可以正常工作。早在 2012 年就有建议说 MingW 的 to_string() 有问题,但在后来的版本中得到了解决,显示为 here。
截图如下:
并且控制台输出如下:
以下是我直接从.exe运行代码时收到的错误:
正如 cmets 中所述,该问题是一个链接问题,但它正确链接到与 string 位于同一目录中的 iostream。
【问题讨论】:
-
它编译得很好,但是有错误?你能告诉我们实际的错误吗?
-
是的,它编译得很好,但是我的意思是一个错误,我现在已经在文本中更正了。我将显示一个屏幕截图
-
输出控制台的错误(作为文本)最好。
-
啊,没有。控制台没有显示错误,屏幕截图很快就附上了
-
奇怪的是你使用了 2 个标准,C++0x 和 C++11。