2017-12-08 15 views
-1

ヘッダーファイルimp.hで関数foo()を宣言し、imp.cで実装しました。次に私はlibimp.soという共有ライブラリを生成し、私のピンツールではfoo()を呼び出しました。外部ライブラリを使用するエラービルディングピンツール

この新しいライブラリとツールをリンクするために、私は、そのディレクトリ内makefile.rulesに以下の定義を追加しました:

TOOL_CXXFLAGS += -I/path/to/imp.h 
TOOL_LPATHS += -L/path/to/libimp.so 
TOOL_LIBS += -limp 

私も/path/to/libimp.soにLD_LIBRARY_PATHを設定します。私がfoo()を使用している場合でも、実行時に、次のエラーが受信されます。

dlopen failed. library "libimp.so" not found. 

私は簡単なテストプログラムから呼び出したときにライブラリがOKです。何か案は? libimp.soへの完全なパスは、文字通り/path/to/libimp.so場合

+0

https://groups.yahoo.com/neo/groups/pinheads/conversations/topics/12356 – TheAhmad

答えて

0

I /path/to/libimp.soにも設定LD_LIBRARY_PATH

、次いでLD_LIBRARY_PATHの正しい値は/path/toあり、ありません/path/to/libimp.so

(それはあなたがこれを理解しているかどうか、あなたの質問から明らかではない。)

あなたがすべてでLD_LIBRARY_PATHを設定する必要はありませんので、あなたが-Wl,--rpath=/path/toであなたのpintoolをリンクすることもできます。

+0

パスは問題ありません。私も-Wl、-rpath =/path/toを使用しましたが、エラーが存在します。 https://stackoverflow.com/questions/37707344/how-to-link-dramsim2-library-interface-with-a-pintoolにも同様の問題があります。 – TheAhmad

関連する問題