実行環境
OSX 10.14.5
GCC 6.5.0
概要
gccでコンパイルするとデフォルトで使用される標準ライブラリは"libstdc++"ですが,これを"libc++"に変更したいと考えています.
以下のドキュメントによると,gcc側はこの標準ライブラリの入れ替えを提供していないため手動でリンクを貼り替えるべきとのことでした.
https://libcxx.llvm.org/docs/UsingLibcxx.html
したがって,ドキュメントにある通り以下を実行しました.
g++ -nostdinc++ -I/usr/lib/libc++.1.dylib/include/c++/v1 -nodefaultlibs -lc++ -lc++abi -lm -lc -lgcc_s -lgcc test.cpp
この時,以下のエラーメッセージが出ました.
ld: library not found for -lgcc_s
解決したいこと
そもそもリンクする標準ライブラリを変更するという簡単な操作をgcc側で出来ないのか疑問であるため(clangなら-stdlib=libc++のように簡単出来たはず),他に方法があるなら教えて頂きたいです.
また,今回のように手動での切り替えしか出来ないのであれば,ドキュメントの例のように実行した場合にlibgcc_sライブラリが見つからない理由について教えて頂きたいです.
c++標準ライブラリ関連に対する知識が浅いため,おかしな質問内容になっているかもしれませんが,対応の程よろしくお願いします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。