2014-06-06 44 views
2

我試圖使用std::to_string(),當然與#include <string>,但編譯器給我的錯誤,它沒有在範圍內聲明,經過大量的搜索後,我嘗試了修復去編譯器設置並有g++跟着... -std=c++11, 下載4.7修補頭文件爲wchar.h,stdio.h,os_defines.h 並重新下載最新的codeblocks版本。std :: to_string在標題字符串中不可用

但沒有什麼使它看起來工作。

我需要更改哪些設置才能完成此項工作。

#include <iostream> 
#include <string> 

using namespace std; 
int main() 
{ 
    string s=to_string(10); 
    cout <<s<<endl; 
    return 0; 
} 

更新:我已經重新安裝的碼塊,版本13.12 TMD GCC,用gcc版本4.81(TMD-2),I兼得-std = C++ 0和-std = C++ 11個標誌在編譯器設置中,在工具鏈可執行文件中,我有C++編譯器:mingw32-gcc-4.8.1.exe,它仍然無法識別to_string();

+0

是的,我收錄了它 – user3085497

+0

你的gcc版本是什麼?你在使用MinGW嗎? – jasal

+0

代碼在GCC 4.8.1上正常工作。可能是您的圖書館版本存在問題。 – DevSolar

回答

3

我想你使用的Code :: Blocks MinGW分佈包括GCC 4.7.1。 MinGW實施libstdc++不支持to_string,這是known bug,不能通過簡單修補頭文件來修復。使用GCC 4.8.1升級到最新的Code :: Blocks版本。

+2

我已經卸載並安裝了最新版本的代碼塊13.12,問題依然存在 – user3085497

+0

什麼是GCC版本? – Havenard

+0

我看到這個問題,我不確定代碼塊,但gcc -v說'線程模型:posix gcc版本4.9.3(GCC)' – Jackie