[http://llvm.org/docs/WritingAnLLVMPass.html][1] を使って、非常に単純なパスを書こうとしています。パスを作成してコンパイルしました (一部は Stackoverflow コミュニティに感謝します) が、実行に問題があります...
ドキュメントには次のように書かれています。
テストするには、入門ガイドの最後にある例に従って、「Hello World」を LLVM にコンパイルします。これで、プログラムのビットコード ファイル (hello.bc) を次のように変換して実行できます (またはもちろん、任意のビットコード ファイルが機能します)。
$ opt -load ../../../Debug+Asserts/lib/Hello.so -hello < hello.bc > /dev/null Hello: __main Hello: puts Hello: main 「-load」オプションは、 「opt」は、パスを共有オブジェクトとしてロードする必要があります。これにより、「-hello」が有効なコマンド ライン引数になります (これが、パスを登録する必要がある理由の 1 つです)。hello パスはプログラムに興味深い変更を加えないため、opt の結果を破棄します (/dev/null に送信します)。
ただし、コマンドを実行すると、次の問題が発生します。
mymachine$./opt -load ../../../Debug+Asserts/lib/Hello.so -hello < hello.bc > /dev/null
Error opening '../../../Debug+Asserts/lib/Hello.so':
dlopen(../../../Debug+Asserts/lib/Hello.so, 9): image not found
-load request ignored. opt: Unknown command line argument '-hello'.
Try: './opt -help' opt: Did you mean '-help'?
何か案は?私はOSXを実行していますが、それが問題の一部であると思われます...