cygwin:链接器不';找不到共享库

cygwin:链接器不';找不到共享库,cygwin,Cygwin,我正在cygwin中创建一个exe和共享库 库已经创建,并且位于正确的位置,但是当我尝试编译客户机代码守护程序时,链接阶段说它找不到sysutil库 错误发布如下: /usr/lib/gcc/i686-pc-cygwin/5.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lsysutil collect2: error: ld returned 1 exit status make: *** [Makefile:84: daemon] E

我正在cygwin中创建一个exe和共享库

库已经创建,并且位于正确的位置,但是当我尝试编译客户机代码守护程序时,链接阶段说它找不到sysutil库

错误发布如下:

/usr/lib/gcc/i686-pc-cygwin/5.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lsysutil
collect2: error: ld returned 1 exit status
make: *** [Makefile:84: daemon] Error 1
我尝试使用
LD\u LIBRARY\u path
导出路径,但不幸的是,这也没有帮助

daemon.c

#include <stdio.h>
#include <sys_util.h>

int main(){

    sys_util();
    while(1){

    }
    return 0;
}
测试蝙蝠

g++ -fpic -c sysutil.c
g++ -shared -o libsysutil.so sysutil.o -I.

g++ -c daemon.c -I.
g++ -o daemon.exe daemon.o -L. -lsysutil
del *.o
共享库在c:/test文件夹中生成,与源代码(daemon.c、sysutil.c、sys_util.h、test.bat、libsysutil.so)相同

Cygwin控制台输出: /cygdrive/c/测试 $./test.bat

C:\test>g++-fpic-C sysutil.C sysutil.c:1:0:警告:-目标忽略fpic(所有代码与位置无关)

C:\test>g++-shared-o libsysutil.so sysutil.o-I

C:\test>g++-C守护进程.C-I

C:\test>g++-o daemon.exe daemon.o-L.-lsysutil c:/mingw/bin/./lib/gcc/mingw32/5.3.0/../../../../../../../mingw32/bin/ld.exe:找不到-lsysutil collect2.exe:错误:ld返回了1个退出状态


C:\test>del*.o

Cygwin希望共享库具有.dll扩展名

将批处理文件中的第二行更改为:

g++ -shared -o sysutil.dll sysutil.o -I.
有关更多信息,请参阅用户指南:

导入库在哪里?如何调用编译器?你没有给我们任何信息来猜测problem@matzeri我已经更新了示例代码和控制台链接错误。
g++ -fpic -c sysutil.c
g++ -shared -o libsysutil.so sysutil.o -I.

g++ -c daemon.c -I.
g++ -o daemon.exe daemon.o -L. -lsysutil
del *.o
g++ -shared -o sysutil.dll sysutil.o -I.