qt 5.12.8 配置报错(交叉编译环境)

报错内容:root@41445bc4c09f:/home/qt-everywhere-src-5.12.8# ./configure -release -opensource -confirm-license -xplatform linux-aarch64-bst-linux-g++ -prefix /home/qt5.12.8-aarch64-bst -hostprefix /opt/qt5.12.8-host -sysroot /opt/bstos/linux-23/sysroots/aarch64-bst-linux -no-xcb -no-glib -sql-sqlite -opengl es2 -eglfs -icu -dbus -openssl -gstreamer -alsa -pulseaudio -shared -c++std c++1z

  • cd qtbase

  • /home/qt-everywhere-src-5.12.8/qtbase/configure -top-level -release -opensource -confirm-license -xplatform linux-aarch64-bst-linux-g++ -prefix /home/qt5.12.8-aarch64-bst -hostprefix /opt/qt5.12.8-host -sysroot /opt/bstos/linux-23/sysroots/aarch64-bst-linux -no-xcb -no-glib -sql-sqlite -opengl es2 -eglfs -icu -dbus -openssl -gstreamer -alsa -pulseaudio -shared -c++std c++1z

/home/qt-everywhere-src-5.12.8/qtbase/configure: 1: /home/qt-everywhere-src-5.12.8/qtbase**/configure: cannot open /home/qt-everywhere-src-5.12.8/qtbase/.qmake.conf: No such file
Cannot process version from .qmake.conf
Cannot proceed.**

第一次编译没有遇到这个情况,第二次源码删了重新编译遇到这个情况了

解决: 在源码根目录下创建俩空文件 touch .qmake.stash .qmake.super 该问题即可解决。

配置了交叉编译文件的环境变量(不知道有没有用)

export PATH=/opt/bstos/linux-23/sysroots/x86_64-bstsdk-linux/usr/bin/aarch64-bst-linux:$PATH

备份qmake.conf:

root@41445bc4c09f:/home/qt-everywhere-src-5.12.8# cat qtbase/mkspecs/linux-aarch64-bst-linux-gcc/qmake.conf

qmake configuration for aarch64 BST Linux (cross-compile)

MAKEFILE_GENERATOR = UNIX

CONFIG += incremental

QMAKE_INCREMENTAL_STYLE = sublib

Include base configurations (DO NOT override host toolchain here)

include(../common/linux.conf)

include(../common/gcc-base-unix.conf)

include(../common/g++-unix.conf)

--- ONLY override TARGET toolchain ---

QMAKE_CC = aarch64-bst-linux-gcc

QMAKE_CXX = aarch64-bst-linux-g++

QMAKE_LINK = aarch64-bst-linux-g++

QMAKE_LINK_SHLIB = aarch64-bst-linux-g++

QMAKE_AR = aarch64-bst-linux-ar cqs

QMAKE_OBJCOPY = aarch64-bst-linux-objcopy

QMAKE_NM = aarch64-bst-linux-nm -P

QMAKE_STRIP = aarch64-bst-linux-strip

QMAKE_SYSROOT = /opt/bstos/linux-23/sysroots/aarch64-bst-linux

load(qt_config)

强制添加qglobal.h的头文件路径(核心修复)

INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/src/corelib/global

INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/include

INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/include/QtCore

确保编译器能找到依赖的库路径

LIBS += -L/opt/bstos/linux-23/sysroots/aarch64-bst-linux/usr/lib

参考博文:https://blog.csdn.net/u011190652/article/details/126446114?ops_request_misc=elastic_search_misc&request_id=641319fd1dd736a8b0ca7210b5bdcbf5&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-126446114-null-null.142^v102^pc_search_result_base3&utm_term=Project%20ERROR%3A%20You%20cannot%20configure%20qt%20separately%20within%20a%20top-level%20build.&spm=1018.2226.3001.4187

相关推荐
橙子家4 小时前
关于列式存储(Column-base Storage)的几个要点解读
数据库
跃上青空4 小时前
Java如何优雅的使用fastjson2进行枚举序列化/反序列化,欢迎探讨
java·开发语言
Leo655354 小时前
动态透视报表 + 查询接口 + Excel导出
开发语言·windows·python
٩( 'ω' )و2604 小时前
MySQL基础
数据库·mysql
生命不息战斗不止(王子晗)4 小时前
mysql基础语法面试题
java·数据库·mysql
BioRunYiXue5 小时前
Nature Methods:CellVoyager 自主 AI 智能体开启生物数据分析新时代
大数据·开发语言·前端·javascript·人工智能·数据挖掘·数据分析
知识分享小能手5 小时前
MongoDB入门学习教程,从入门到精通,MongoDB应用程序设计知识点梳理(9)
数据库·学习·mongodb
一直都在5725 小时前
Redis (一)
数据库·redis·缓存
字符串str5 小时前
sql的基本技术栈
数据库·sql·oracle
AIminminHu5 小时前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-1-(5)番外篇:给 CAD 加上“控制台”——让用户能实时“调参数、看性能”)
qt·mfc·cad