2014-11-06 70 views
0

版本信息:CMake的3.0.2時,Xcode 5(LLVM 5.1)的Xcode與CMake的關聯問題生成的項目

我建立一個AudioUnit,我得到了臭名昭著的 「的std :: __ 1 ...」 連接問題(如當的libC++ &的libstdC++被simultanously使用),但是我設置爲「-std = C++ 11 -stdlib = libc的++」在頂部的CMake電平,並且這些標誌因此由所有從屬目標的CMAKE_CXX_FLAGS。但是,當清理「libstdC++」時,AudioUnit目標依賴於libstdC++。dylib(雖然從來沒有設置過任何地方),當我明確地將Xcode中的LLVM「C++標準庫」設置爲libC++時, !)

我在窮途末路,我不知道如何以其它方式迫使非盟目標倚靠着libC++來代替的libstdC++。

是否有任何明確的CMake XCODE屬性用於此?

回答

0

相關標誌,使之建立:

SET(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11") 
SET(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") 

然後它編譯+鏈接沒有任何問題。不需要額外的-std = C++ 11 ... C++標誌。