讓clang ++使用GCC的libstdC++(-stdlib=stdc++
)很容易,但我該怎麼做相反的?在OS X Mavericks上,C++系統庫是libC++,這意味着基本上libstdC++不能使用(如果您與其他C++庫混合使用,例如使用libC++編譯的boost)。所以,粗略地說,這意味着G ++不可用...除非我可以要求它使用libC++而不是libstdC++。使用g ++與libC++
謝謝。
我使用的腳本(EDIT)
我用下面的腳本,g++-libc++
,運行G ++上的libC++頂部,在Mac OS X與MacPorts的(因此-mp
名。
#! /bin/sh
clangxx=clang++-mp-3.5
gxx=g++-mp-4.9
libcxx_includes=$($clangxx -print-search-dirs |
perl -ne 's{^libraries: =(.*)}{$1/../../../} && print')
exec $gxx -std=c++11 \
-isystem ${libcxx_includes}/include/c++/v1 \
-nostdinc++ -nodefaultlibs \
-lc -lc++ -lc++abi -lgcc_s.10.5 \
-Wl,-no_compact_unwind \
"[email protected]"
只是傳遞正確-I(或-isystem),-L和-l標誌...... –