我,包括iOS版的XCode項目unordered_map。最初,當我嘗試鏈接時,我得到了新的和刪除操作的錯誤,但是當我將「-lstdC++」添加到「其他鏈接器標誌」時,這些消失了,但我留下了以下缺失的符號。__next_prime符號未定義
"std::__1::__next_prime(unsigned long)", referenced from:
我嘗試了C++標準語言/方言的不同組合,但無法讓它消失。
任何想法庫包括這個?
謝謝!
我,包括iOS版的XCode項目unordered_map。最初,當我嘗試鏈接時,我得到了新的和刪除操作的錯誤,但是當我將「-lstdC++」添加到「其他鏈接器標誌」時,這些消失了,但我留下了以下缺失的符號。__next_prime符號未定義
"std::__1::__next_prime(unsigned long)", referenced from:
我嘗試了C++標準語言/方言的不同組合,但無法讓它消失。
任何想法庫包括這個?
謝謝!
此功能是一個私有方法LLVM的libc++
:http://www.opensource.apple.com/source/libcpp/libcpp-31/src/hash.cpp?txt。因此,您需要將您的C++標準庫更改爲libC++(支持C++ 11的LLVM C++標準庫),或將鏈接器標誌更改爲-lc++
。
(需要注意的是,在一般情況下,你應該避免添加標準庫的鏈接標誌自己。XCode中有一個選項,具體選擇運行時庫,只要你設置了編譯器的選擇正確。) – nneonneo 2013-03-07 19:27:32
該符號在很大程度上是可疑的是C++標準庫的一個私有函數。 – 2013-03-07 19:12:20
(對於那些你從我一個+1,我硬是不知道什麼是錯的...也許一個不匹配STDLIB版本?鏈接錯誤?什麼...) – 2013-03-07 19:13:29
一般來說,如果你是編譯C++代碼,C++庫會由編譯器爲您鏈接。你如何調用工具鏈來達到這一點? – 2013-03-07 19:17:39