gcc 5.1 to_wstring未在此范围内声明

时间:2016-02-02 20:32:37

标签: c++ eclipse c++11 gcc

我试图通过切换到Eclipse和gcc以便将来开发来破坏我的C ++ Builder习惯,但我发现很难开始。我安装了Eclipse mars和tdm-gcc-5.1.0-3。

我从新项目向导中创建了一个简单的Hello world程序。

#include <iostream>
#include <string>

using namespace std;

int main() {
    cout << "!!!Hello World "  << endl; // prints !!!Hello World!!!
    return 0;
}

编译并运行良好。

我修改它以使用to_string,它仍然有效

cout << "!!!Hello World " << to_string(1) << endl; // prints !!!Hello World!!! 1

现在我非常喜欢并改变它以使用宽带。

wcout << L"!!!Hello World " << to_wstring(1) << endl; // should print !!!Hello World!!! 1

但是我得到以下编译器错误

g++ -std=c++0x -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\hello.o" "..\\src\\hello.cpp" 
..\src\hello.cpp: In function 'int main()':
..\src\hello.cpp:14:45: error: 'to_wstring' was not declared in this scope
  wcout << L"!!!Hello World " << to_wstring(1) << endl; // should print !!!Hello World!!! 1

尽管我能找到的每个在线资源都说to_wstring是c ++ 11的一部分。

我在tdm-gcc文件夹中搜索并找到了include \ c ++ \ bits \ basic_string.h中定义的to_wstring,它是从string.h引用的,因此它应该对我的代码可见。

我需要包含其他内容才能使其正常工作,还是我需要在某处设置开关?我的项目真的需要广泛的字符串。

0 个答案:

没有答案