0

プロジェクトには 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 フラグを指定してプログラムのデバッグ ビルドを実行したときに始まり、コンパイルして正常に実行されましたが、その後のすべてのプログラムで、このシンボル ルックアップの失敗について不満がありました。助けてください。

4

1 に答える 1