我剛剛編譯GCC 4.7與stdatomic.h
工作,但我似乎無法給-I
它。 stdatomic.h
似乎生活在/usr/include/c++/4.4.3
,但然後鏈接器告訴我它需要在附近的一堆其他文件。如果我-I
所有人,我仍然得到錯誤undefined reference to atomic_flag_clear_explicit
。任何想法我應該如何鏈接這個權利?GCC 4.7,其中包括<stdatomic.h>
2
A
回答
2
首先,如果您正在編譯GCC 4.7,您不應該在GCC 4.4的目錄中包含或鏈接什麼。
其次,-I
只會影響的頭文件的搜索路徑。 「未定義的引用」是一個鏈接器錯誤,通常意味着它沒有找到合適的庫。您可以用-L
更改圖書館搜索路徑。鏈接器沒有說它沒有找到一個名稱正確的庫,它說它沒有找到一個符號,很明顯它找到的庫沒有這個符號。我建議你有一個版本問題,可能是由安裝問題引起的。
2
< GCC 4.4和4.5中的stdatomic.h>頭文件來自早期的C++ 0x原子草案,但不是最終標準的一部分,因此它已從libstdC++中移除。
C++編譯器支持通過C++ 11 <原子>頭C++ 11個原子學,因此應使用該標頭中的C++代碼。
當C編譯器支持C11原子學,所述< stdatomic.h>頭將被再次設置。
相關問題
- 1. GCC v4.6 vs 4.7
- 2. Gcc不包括Object.h
- 3. GCC-4.7編譯錯誤
- 4. C++編譯錯誤(gcc 4.7)
- 5. tdm gcc 5.1慢於4.7
- 6. GCC本地包括路徑
- 7. gcc包括命令壞了?
- 8. 選擇<label>但不包括<label>其中包含<input>
- 9. 在gcc 4.7中有沒有任何使用asan的方法4.7
- 10. ,其中包括PHP
- 11. ,其中包括PHP
- 12. GCC包括窗口中的頭文件
- 13. 包括單獨的HTML,其中包含代碼<head>
- 14. 包括<jni.h>與ARM-Linux的gnueabi-GCC
- 15. 包括<x> VS包括<x.h>
- 16. RavenDB - 其中包括對象
- 17. gcc 4.7給我錯誤信息
- 18. gcc 4.7和遞歸constexpr函數
- 19. Clang 3.2 build gcc之後破壞4.7
- 20. 發行鏈接gcc-4.7 Mac OSX 10.6
- 21. 使用gcc-4.7和openMP缺少___emutls_get_address
- 22. QApplication與gcc 4.7編譯但崩潰
- 23. clang 3.3和GCC 4.7 const v的constexpr
- 24. gcc 4.7配置安裝後綴
- 25. GCC -I不會改變包括目錄
- 26. Gcc使用sqrt不包括math.h
- 27. -framework加速,其中包括<Accelerate/Accelerate.h>
- 28. Cmake其他包括
- 29. 在Fedora 16上安裝gcc-4.7仍然顯示gcc-4.6
- 30. 無法鏈接共享庫與-mx32和gcc 4.7或gcc 4.8
4.7源代碼包是否還附帶4.7 libstdC++? – 2012-03-29 02:18:02
哦,我明白了,你的意思是我可能會鏈接到錯誤的包含?讓我看看。 – 2012-03-29 02:21:01
@ K.G。 ''是標準C,而不是C++。 –
2012-03-29 05:43:26