создание и связывание разделяемой библиотеки

я пытаюсь создать разделяемую библиотеку на платформе windows cygwin с помощью g++, а затем связать ее с другим файлом 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.1.0.1, а не libbeat.so или libbeat.so. 1(или их там быть не должно?)

один из других вопросов предлагает создать символическую ссылку на libbeat.so.1.0.1, но это тоже не сработало

15
задан Preet Sangha 25 May 2012 в 05:49
поделиться