/opt/stm32_sdk/sysroots/x86_64-ostl_sdk-linux/usr/bin/ld: /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so: error adding symbols: file in wrong format collect2: error: ld returned 1 exit status Makefile:210: recipe for target 'analogclock' failed make: *** [analogclock] Error 1
时间: 2023-07-23 12:56:51 浏览: 117
这个错误提示类似于之前的错误提示,也是由于链接器在链接可执行文件时,发现了一个或多个文件格式不正确。具体来说,错误信息中指向了`/home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so`这个库文件,说明这个库文件格式不正确,可能是由于编译或安装过程中出现了问题。
为了解决这个问题,您可以尝试以下几个步骤:
1. 确保您的Qt库文件是针对当前系统和编译器的正确版本。如果您使用了交叉编译工具链,需要确保Qt库文件也是交叉编译的版本。
2. 检查您的Qt库文件是否正确安装,并且路径设置正确。可以通过在终端中输入`echo $LD_LIBRARY_PATH`命令,查看动态链接库搜索路径是否包含Qt库文件的路径。
3. 如果以上步骤没有解决问题,可以尝试重新编译和安装Qt库文件。可以在重新编译之前,先将已有的Qt库文件删除,确保重新编译的库文件是全新的。
希望这些步骤可以帮助您解决问题。
相关问题
/opt/stm32_sdk/sysroots/x86_64-ostl_sdk-linux/usr/bin/ld: /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so: error adding symbols: file in wrong format collect2: error: ld returned 1 exit status Makefile:195: recipe for target 'analogclock' failed make: *** [analogclock] Error 1
这个错误是由于链接器尝试将不同架构的库文件链接在一起导致的。/home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so 库文件可能是在不同的系统上编译的,或者与你的系统的架构不兼容。
解决方案是在编译时使用与目标系统相同的Qt库文件,或者重新编译Qt库文件以匹配目标系统的架构。
你可以尝试重新编译Qt库文件,或者从适用于你的目标系统的官方源中获取Qt库文件。另外,你也可以检查你的编译选项和环境变量是否正确设置。
Can't locate FindBin.pm in @INC (you may need to install the FindBin module) (@INC contains: /home/yk/sdk/sysroots/x86_64-petalinux-linux//usr/lib/perl/site_perl/5.24.4 /home/yk/sdk/sysroots/x86_64-petalinux-linux//usr/lib/perl/vendor_perl/5.24.4 /home/yk/sdk/sysroots/x86_64-petalinux-linux//usr/lib/perl/5.24.4 /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/site_perl/5.24.4/ /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/site_perl/5.24.4 /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/vendor_perl/5.24.4/ /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/vendor_perl/5.24.4 /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/5.24.4/ /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/5.24.4 /opt/petalinux/2019.1/sysroots/x86_64-petalinux-linux/usr/lib/perl/5.24.4 .) at ./Configure line 15. BEGIN failed--compilation aborted at ./Configure line 15
这个错误提示表明你的Perl运行环境中缺少FindBin模块,而你的代码中使用了该模块。你需要安装FindBin模块,可以使用以下命令:
```
cpan FindBin
```
如果你没有安装CPAN,可以使用以下命令安装:
```
sudo apt-get install cpanminus
```
安装完成后,再执行上面的命令即可安装FindBin模块。
阅读全文