直接使用别人编译好的qt库,省事,不用编译,但也会出现一些问题。

一、问题描述。

qt在进行交叉编译时,出现交叉编译工具找不到的错误,如下报错:

:-1: error: arm-linux-g++: Command not found

二、问题分析。

这是由于qtcreator默认为arm-linux-,而所用到的为arm-arago-linux-gnueabi-。Makefile是由qmake产生的,可是qtcreator当选定了qmake后,编译用的cc编译器名字是由选定的qmake决定的,qtcreator里更改compilers只能影响build environment里的PATH路径,无法影响qmake在生成Makefile时赋值给CC等。

arm-arago-linux-gnueabi-gcc
arm-arago-linux-gnueabi-g++

三、解决方案。

1、方案一:直接修改Makefile文件。将arm-linux-替换为arm-arago-linux-gnueabi-,问题解决。

2、方案二:通过/etc/environment文件设置环境变量。不能通过/etc/bash.bashrc文件设置环境变量,此方法无效。修改示例如下:

PATH="/.../toolschain/.../bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

3、方案三:使用qt源码时行交叉编译,指定编译器为arm-arago-linux-gnueabi-gcc、arm-arago-linux-gnueabi-g++。

QMAKE_CC                = /.../qt4.8.5/bin/arm-arago-linux-gnueabi-g++
QMAKE_CXX               = /.../qt4.8.5/bin/arm-arago-linux-gnueabi-g++
QMAKE_LINK              = /.../qt4.8.5/bin/arm-arago-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /.../qt4.8.5/bin/arm-arago-linux-gnueabi-g++

4、方案四:修改/.../qt4.8.5/mkspecs/qws/linux-arm-g++/qmake.conf文件。将arm-linux-替换为arm-arago-linux-gnueabi-,问题解决。

原文件:

#
# qmake configuration for building with arm-linux-g++
#include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)# modifications to g++.conf
QMAKE_CC                = arm-linux-gcc  -lts
QMAKE_CXX               = arm-linux-g++  -lts
QMAKE_LINK              = arm-linux-g++  -lts
QMAKE_LINK_SHLIB        = arm-linux-g++  -lts# modifications to linux.conf
QMAKE_AR                = arm-linux-ar cqs
QMAKE_OBJCOPY           = arm-linux-objcopy
QMAKE_STRIP             = arm-linux-stripload(qt_config)

修改后:(网上)

#
# qmake configuration for building with arm-linux-g++
#include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)# modifications to g++.conf
QMAKE_CC                = arm-arago-linux-gnueabi-gcc  -lts
QMAKE_CXX               = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK              = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK_SHLIB        = arm-arago-linux-gnueabi-g++  -lts# modifications to linux.conf
QMAKE_AR                = arm-linux-ar cqs
QMAKE_OBJCOPY           = arm-linux-objcopy
QMAKE_STRIP             = arm-linux-stripload(qt_config)

或修改后:(个人,目前不确定两者的具体影响)

#
# qmake configuration for building with arm-linux-g++
#include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)# modifications to g++.conf
QMAKE_CC                = arm-arago-linux-gnueabi-gcc  -lts
QMAKE_CXX               = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK              = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK_SHLIB        = arm-arago-linux-gnueabi-g++  -lts# modifications to linux.conf
QMAKE_AR                = arm-arago-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-arago-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-arago-linux-gnueabi-stripload(qt_config)

qt交叉编译报错::-1: error: arm-linux-g++: Command not found相关推荐

  1. 关于 CentOS系统编译Qt项目报错:error: cannot find -lGL 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129633859 红胖子(红模仿)的博文大全:开发技术集 ...

  2. Qt环境报错-Project ERROR: Cannot run compiler ‘cl‘. Output

    文章目录 1.现象 2.cl.exe启动失败,报错原因 3.解决办法 更多精彩内容

  3. Appium报错Original error: Could not proxy command to the remote server. Original error: socket hang up

    运行好好的测试用例,换了测试设备,突然隔三差五就开始报错了,让人摸不着头脑. 表现:写了一个循环滑动页面的用例,滑着滑着突然报错,提示socket hang up了,但是app还停留在前台,并没有被杀 ...

  4. QT编译报错:Error while building/deploying project xxx When executing step qmake

    前提概要 移动一个QT工程位置后,编译就报错了. 原因 移动QT工程所在的绝对路径有中文,QT工程所在位置的绝对路径不能有中文 提示 移动QT工程后,注意先将工程中 xxx.pro.user 文件删掉 ...

  5. ubuntu QT 编译报错 -1: error: cannot find -lGL问题的解决方法

    1.查询库位置 locate libGL 2.创建软链接:注意-s后的路径取决于第一个命令查出来的路径. /usr/lib/libGL.so  保持不变 sudo ln -s /usr/lib/x86 ...

  6. QT 编译报错:error: no macro name given in #define directive

    解决: 在pro文件里写的注释格式不对 DEFINES += _BUILDING_QX_AMWHA // [//]这个用错了, pro里的注释一般用#号

  7. Roson的Qt之旅#97 Qt编译报错-Could not determine which “make“ command to run

    如下图所示,当我们在QtCreator中新建一个空白的Qt工程时,需要选择Qt库的版本,默认选择的是MinGW. 如果我们选择了其它的,比如说MSGV2015 64bit,那么当工程建好之后,我们点击 ...

  8. vs2010 Qt插件报错Couldn't register all Qt4VSAddin command解决方案

    打开vs2010,也不存在qt插件: 1.更新你的VS2010到sp1: 2.cmd执行以下命令:(是一个命令,注意32位或者64位路经可能不同确认2个路径的文件存在再执行,否则安装sdk.) win ...

  9. 关于 编译QT项目时报错: error: cannot find -lGL 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/78260169 红胖子(红模仿)的博文大全:开发技术集合 ...

最新文章

  1. 求一个容器的最值的索引_殊途同归——从一道经典的多元最值问题说开
  2. CMAKE_C_COMPILER not set
  3. .Net Core微服务系列--理论篇
  4. oracle rowed,oracle bitmap索引内部揭密,欢迎补充
  5. 利用WPS功能破解及本地恢复密码
  6. 2018年4月自考感想
  7. v21 v8中资源找不到
  8. 2021-03-29
  9. 计算机进入启动死循环,教你win10重启死循环怎么解决
  10. linux 桌面背景图,linux常用命令桌做成的桌面图片,可当背景图片
  11. 海外自媒体多账号运营注意事项看这里!
  12. login shell和non-login shell
  13. 股票软件破解常用破解工具介绍
  14. 贪心算法之贪心的加勒比海盗
  15. javascript(五)--jquery
  16. python爬取智联招聘_【原创源码】python 爬取智联招聘
  17. 3.7 Dictionary(字典)
  18. 直播app系统源码通过CSS液体实现加载动画
  19. 群起而攻,拼多多动了谁的奶酪?
  20. ubuntu16.04 下怎么挂载iso文件

热门文章

  1. Tornado重定向(三)
  2. 磁盘调度算法中磁头的控制
  3. 东北大学计算机应用专科,东北大学王牌专业有哪些?拿来吧你!
  4. 企业级服务器硬盘500g,稳定最重要 西数RE4企业级硬盘测试
  5. transformer学习笔记:Feed-Forward Network
  6. qprocess回调_Qt图形编程基础之:Qt/Embedded开发入门-嵌入式系统-与非网
  7. c 导入oracle数据库,c导入excel数据到数据库
  8. 连接标签 <a herf=“”></a>
  9. 计算机exicl如何分类汇总,AutoCAD常用命令大全(分类汇总表).xls
  10. iPhone触摸屏故障一系列解决方法