2016-04-24 8 views
1

私は共有ライブラリlibpl.soを作成します。共有ライブラリでgccをコンパイルするには?

私は接続を作成するには、このコマンドを使用します。

ln -s libpl.so.1.0.1 libpl.so.1 
ln -s libpl.so.1.0.1 libpl.so 

そして今、私が使用して私のプログラムをコンパイルしよう:

gcc main.c -o main -L. -libpl 

を私はerrosを持っている:

/usr/bin/ld: cannot find -libpl 
collect2: error: ld returned 1 exit status 

は何べき私はそれを修正するか?どのようにコンパイルするのですか?

+1

-lpl .......... –

+0

閉じるが、それでも ./main動作しません:エラーをliblp.so.1:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません – Ice

+0

ランタイム中に実行が失敗した場合は、以下を実行してください: 'export LD_LIBRARY_PATH =。/:$ LD_LIBRARY_PATH' –

答えて

0

このライン:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:`pwd`" 

が正しく動作。

してコンパイル:

でruningて
gcc main.c -o main -L. -lpl 

./main 
1

この行は役立つはず:

export LD_LIBRARY_PATH=/path/to/libpl.so:$LD_LIBRARY_PATH 

あなたはこのチュートリアルでは、すべてのご質問にお答えして、このチュートリアル on shared libraries on linux

に従ってください。

+0

私は完了、まだ正しく動作していない:( – Ice

関連する問題