firemail

标题: uos 下 Qt依赖库的复制方法 [打印本页]

作者: Qter    时间: 2023-12-16 18:02
标题: uos 下 Qt依赖库的复制方法
依赖库用压缩文件再解压 格式有变化,调用时报如下错误

/usr/bin/ld:/data/home/admin/gitlibcmic/Qt-5.15.2/lib/libQt5Multimedia.so: file format not recognized; treating as linker script
/usr/bin/ld:/data/home/admin/gitlibcmic/Qt-5.15.2/lib/libQt5Multimedia.so:0: syntax error
collect2: error: ld returned 1 exit status
make: *** [Makefile:631: ../../mCloud_ClientWin/output/debug/libbase.so.1.0.0] Error 1





作者: Qter    时间: 2023-12-16 18:03
一、问题描述
linux环境下,C++编译出现问题,报错:
XXX.so:file format not recognized; treating as linker script
XXX.so:syntax error
原因是,识别不了文件格式,只能将文件当作一个链接识别。

二、出错原因
以上错误发生后,查看了一下文件格式,发现.so文件格式变成了ASCII text:

而实际so文件格式应该为:

这个错误其实是因为我的整个开发环境是在windows下,而编译环境却是在Linux下使用makefile编译导致的。
一开始从代码库拉取项目代码到了windows平台,动态库.so文件是一个链接文件,但是拉取到windows下就失效了,再次传到linux编译的时候就无法正确找到link的文件,所以出现了上述问题。


三、解决方案
直接在linux环境下拉取对应的项目文件,不要拉取到windows平台再传到linux平台。
最后问题成功解决,编译通过!
————————————————
版权声明:本文为CSDN博主「哪吒要进厂啦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39093373/article/details/118220195






欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3