QtCreator交叉编译设置--sysroot选项

问题描述

.源码编译时使用-sysroot指向目标板根文件系统、因为需要使用依赖库;

./configure -prefix  /usr/local/qt5.15.12   \
-sysroot /home/student/workplace/source/nanopct4/buildroot-2022.11.1/output/staging \
-opensource \
-confirm-license \
-release  \
-shared   \
-eglfs \
-opengl \
-xplatform  linux-aarch64-gnu-g++  \
-no-iconv \
-alsa \
--gui=yes \
-qt-assimp \
-recheck-all

执行完make install后,是安装在以-sysroot为根目录下的,使用qtcreator添加qmake显示安装错误;
方法:在qmake所在目录下建qt.config文件:

[Paths]
Prefix = ../

之后可以识别qt版本;接着产生一个问题;构建工程可以使用cmake就是CMakeLists.txt或使用.pro文件,使用默认工程编译报错:“-1: error: cannot find crt1.o: No such file or directory”;就是交叉编译环境有问题;在使用CMakeLists.txt时设置CMAKE_SYSROOT环境变量可以解决;但是对使用.pro的文件的工程不起作用;通过查看makefile文件发现–sysroot= 后是的,修改makefile加上目标板根文件路径,可以正常编译;问题就转换为.pro构造工程–sysroot配置问题

在这里插入图片描述

解决方法

./configure 选项增加-extprefix选项;在执行make install时,安装到指定主机的路径

./configure -prefix  /usr/local/qt5.15.12   \
-sysroot /home/student/workplace/source/nanopct4/buildroot-2022.11.1/output/staging \
-extprefix /home/student/workplace/source/local/qt5.15.12  \
-opensource \
-confirm-license \
-release  \
-shared   \
-eglfs \
-opengl \
-xplatform  linux-aarch64-gnu-g++  \
-no-iconv \
-alsa \
--gui=yes \
-qt-assimp \
-recheck-all
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值