我试图通过切换到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引用的,因此它应该对我的代码可见。
我需要包含其他内容才能使其正常工作,还是我需要在某处设置开关?我的项目真的需要广泛的字符串。