2017-03-24 11 views
0

オープンソースのLLVMプラグイン(https://github.com/HewlettPackard/Atlas)をビルドしようとしています。 llvmプラグインを使用してビルドしようとすると、「エラー:プラグインをロードできません...未定義シンボル:_ZNK4llvm12FunctionPass17createPrinterPassERNS_11raw_ostreamERKSs」(llvm :: FunctionPass :: createPrinterPass)が表示されます。 これはおそらく、ここに記載されているABIのさまざまな問題(undefined symbol for self-built llvm opt?)が原因ですが、-D_GLIBCXX_USE_CXX11_ABI = 0のプラグインをビルドしても問題は解決しません。LLVMプラグインの未定義シンボル

私はUbuntu 16.04を持っています。私はclangバージョン3.6、3.8、3.9を試してみて問題は解決しない。

ビルディング:(打ち鳴らす++ 3.6、3.8、3.9、-stdlib =のlibstdC++ととせずに、-D_GLIBCXX_USE_CXX11_ABI = 0とすることなく)

clang++-3.9 -D_GLIBCXX_USE_CXX11_ABI=0 -c src/Instrumentation/NvmInstrumenter.cpp -I/usr/lib/llvm-3.9/include -fPIC -std=c++11 

clang++-3.9 -D_GLIBCXX_USE_CXX11_ABI=0 -shared NvmInstrumenter.o -o NvmInstrumenter.so 

clang++-3.9 -Xclang -load -Xclang ./NvmInstrumenter.so -o oo -c ./r.cpp 

未定義のシンボルエラーの最後の行をもたらします。

ご協力いただければ幸いです。探し続ける方向についての示唆も役に立ちます。ありがとう。

答えて