g ++を使用してWindows cygwinプラットフォームで共有ライブラリを構築し、後で別のcppファイルとリンクしようとしています:私は次のコマンドを使用します:
// generate object file
g++ -g -c -Wall -fPIC beat11.cpp -o beat11.o
// to generate library from the object file
g++ -shared -Wl,-soname,libbeat.so.1 -o libbeat.so.1.0.1 beat11.o -lc
// to link it with another cpp file; -I option to refer to the library header file
g++ -L. -lbeat -I . -o checkbeat checkbeat.cpp
リンク中に、次のエラーが発生します。
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find -llibbeat.so.1.0.1
collect2: ld returned 1 exit status
ライブラリは問題なく作成されますが、libbeat.soまたはlibbeat.so.1ではなく、libbeat.so.1.0.1しか見つかりません(または、そこにあるはずはありませんか?)
他の質問の1つは、libbeat.so.1.0.1へのシンボリックリンクを作成することを提案していますが、それもうまくいきませんでした