Aufbau und Verknüpfung einer gemeinsamen Bibliothek
Ich versuche, eine gemeinsam genutzte Bibliothek auf einer Windows-Cygwin-Plattform mit G ++ zu erstellen und sie später mit einer anderen CPP-Datei zu verknüpfen: Ich verwende die folgenden Befehle:
// 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
Beim Verknüpfen tritt der folgende Fehler auf:
/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
Die Bibliothek wird ganz gut erstellt, aber ich kann nur libbeat.so.1.0.1 finden, nicht libbeat.so oder libbeat.so.1 (oder sollen sie nicht da sein?)
Eine der anderen Fragen schlägt vor, einen Symlink zu libbeat.so.1.0.1 zu erstellen, aber auch das hat nicht funktioniert