プロジェクトには libstdc++ にまだ実装されていない機能が必要なため、最近 libc++ をゼロから構築しました。
src/main.cpp にある hello world プログラムを次の行でコンパイルしようとしました
clang -Wall -stdlib=libc++ -std=c++11 -c src/main.cpp -obuild/main.o
そしてビルドは成功します
次に、それをリンクします
clang -lc++ build/main.o -o qasix
リンクも成功します。しかし、私がプログラムを実行すると
./qasix
次のエラーが表示されます。
./qasix: symbol lookup error: /usr/local/lib/libc++.so.1: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
これが発生する理由と、それを修正する方法を知りたいです。
それが助けになるなら、私はXubuntu 13.10を使用しています。
PS: この問題は昨日発生しました。以前の他の libc++ プログラムは正常にコンパイルされます。これは、-g フラグを指定してプログラムのデバッグ ビルドを実行したときに始まり、コンパイルして正常に実行されましたが、その後のすべてのプログラムで、このシンボル ルックアップの失敗について不満がありました。助けてください。