cygwin:链接器不';找不到共享库
我正在cygwin中创建一个exe和共享库 库已经创建,并且位于正确的位置,但是当我尝试编译客户机代码守护程序时,链接阶段说它找不到sysutil库 错误发布如下: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
/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*.oCygwin希望共享库具有.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.