.so
ファイルを作成して/opt/lib
の場所に配置し、次のコマンドでメインプログラムをコンパイルしようとすると、このパスをLD_LIBRARY_PATH
に追加しました。
g++ -Wall -I/home/alwin/Development/Calculator/ main.cpp -lcalc -o calculator
次のエラーが表示されます。
/usr/bin/ld: cannot find -lcalc
collect2: ld returned 1 exit status
誰かがこれで私を助けることができます。コードブロックIDEを使用して共有ライブラリを作成しました
コンパイラパラメーターに-L/opt/lib
を追加します。これにより、コンパイラーとリンカーはそのフォルダー内でlibcalc.so
のパスを検索します。
Gccを呼び出すと、次のようになります。
g++ -Wall -I/home/alwin/Development/Calculator/ -L/opt/lib main.cpp -lcalc -o calculator
not -libcalc.so
自動生成されたメークにも同様の問題があります。
コンパイルディレクトリからライブラリディレクトリへのソフトリンクを作成できます。その後、ライブラリは「ローカル」になります。
cd /compile/directory
ln -s /path/to/libcalc.so libcalc.so
@Alwin Doss -lの前に-Lオプションを指定する必要があります。おそらく他の方法でやり直したでしょう。これを試して :)
-L/opt/lib
を追加して、ld
に共有オブジェクトを探すように指示する必要があります。