im i aşağıdaki komutları kullanın :bina ve paylaşılan kütüphane bağlama g ++ kullanarak bir windows cygwin platformda paylaşılan kütüphane oluşturmak ve daha sonra başka bir cpp dosyası ile bağlamak için çalışıyor
// 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
bağlama sırasında,
/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
kütüphane gayet oluşturulan alır, ama sadece, libbeat.so.1.0.1 bulmak libbeat.so veya libbeat.so.1 değil (ya da gerekiyordu değildir edebilirsiniz: aşağıdaki hata ekinler orada ol?)
diğer sorulardanbir libbeat.so.1.0.1 bir sembolik oluşturarak önerir, ama bu da işe yaramadı
Aynı problemi yaşadım ve -l: libname.so kullanarak yaptığınız yorumunuz. Bununla birlikte, linker lib-. aynı zamanda benim çalışmam gerektiği anlayışıydı ama en azından cygwin ile durum böyle görünmüyor. Diğer derleyicilerle denemedim. –
Devolus
Buradaki cevap bana yardımcı oldu: http://stackoverflow.com/questions/16154130/cygwin-g-linker-doesnt-find-shared-library – solstice333