blj28

导航

/usr/bin/x86_64-w64-mingw32-ld: 找不到 -ldl

问题由来:拷贝在ubuntu  下提示/usr/bin/x86_64-w64-mingw32-ld: 找不到 -ldl

 (1)原因:

因为在ubuntu 下缺少libdl.a库

 

root@blj-virtual-machine:/usr/simul/123/sourcecode# make -s
/usr/bin/x86_64-w64-mingw32-ld: 找不到 -ldl
collect2: error: ld returned 1 exit status
make[1]: *** [/usr/simul/123/sourcecode/common.mk:85:/usr/simul/123/sourcecode/lib/libinstruction.dll] 错误 1
/usr/bin/x86_64-w64-mingw32-ld: 找不到 -ldl
/usr/bin/x86_64-w64-mingw32-ld: 找不到 -linstruction  ————因为这个库依赖于ldl库所以现需要解决ldl问题
collect2: error: ld returned 1 exit status
make[1]: *** [/usr/simul/123/sourcecode/common.mk:81:/usr/simul/123/sourcecode/TS30] 错误 1
make: *** [makefile:12:all] 错误 2
root@blj-virtual-machine:/usr/simul/123/sourcecode#

解决方案

将windows下的库拷贝至依赖库

例如自己源码或者ubuntu中安装的mingw32库文件中

 后续更改完成后依然提示

/usr/bin/x86_64-w64-mingw32-ld: 找不到 -linstruction 
根本原因使用了多线程编译,编译顺序导致无法找到对应的库,删除-j4也没有从本质上解决该问题
all:
    @for dir in $(BUILD_DIR); \
    do \
        make -j4 -C $$dir; \
    done
clean:

 

posted on 2024-08-15 10:47  bailinjun  阅读(54)  评论(0编辑  收藏  举报