2015-09-13 73 views
0

我剛剛通過我的當前項目(在Code :: Blocks | MinGW | GCC)從C++到C++ 11。 所以我在編譯器設置中添加了「-std = C++ 11」。stdlib內容不可用與C + + 11

但現在看來,我不能訪問stdlib.h內容,如MAX_PATH或atoi()。這些是「未聲明」。

一些研究之後,我嘗試了兩種編譯器和連接設置中添加「-std =的libC++」,沒有成功...

我通常不修改編譯器選項,當我有我很迷失到...

所以我的問題是:

  • 難道C++ 11變化STDLIB文件鏈接?
  • 現在我怎樣才能獲得{MAX_PATH,atoi,...}?你需要
+0

假設您的意思是'PATH_MAX',它不是C標準庫的一部分。 –

+1

只是FYI。您應該在所有C++項目中使用insd stdlib.h中的cstdlib。 stdlib.h我遺留的C頭文件。 – DawidPi

回答

0
  1. atoi()的使用功能,包括<cstdlib>而不是<stdlib.h>
  2. 要獲得MAX_PATH,你需要包括<climits>爲Windows。對於Linux系統,您需要包含<linux/limits.h>
+0

我在中找到MAX_PATH,但在中找不到MAX_PATH;但是我一直在尋找,謝謝 – Gadam