プロジェクト ディレクトリで llvm パスを開発しようとしています。そのために、http://llvm.org/docs/CMake.html#developing-llvm-pass-out-of-sourceの情報に従います。このリンクのように適切に CMakeFiles を作成すると、最終的なプロジェクト ディレクトリは次のようになります。
|-- src
| |-- CMakeLists.txt
| |-- bigForPass
| | |-- CMakeLists.txt
| | |-- bigForPass.cpp
| | |-- merged.bc
| |-- build
また、ソース ファイルを llvm ルート ディレクトリに問題なくリンクしました。最後に、'build' フォルダーの下にビルドを作成すると、LLVMHello1.dylib という名前の共有ライブラリが (build/bin フォルダーの下に) 問題なく正常に作成されます。ただし、コマンドを使用してmerged.bcファイル(llvmコードを含む)でパスを実行しようとすると
opt -load ../build/bin/LLVMHello1.dylib -bishe_insert <merged.bc> final.bc
エラーが発生し続けます。
Error opening '../build/bin/LLVMHello1.dylib': dlopen(../build/bin/LLVMHello1.dylib, 9): Symbol not found: __ZTIN4llvm10ModulePassE
Referenced from: ../build/bin/LLVMHello1.dylib
Expected in: flat namespace
in ../build/bin/LLVMHello1.dylib
-load request ignored.
これに関するアイデアや提案はありますか?
よろしくお願いします。