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

相关推荐
睡不醒男孩03082317 小时前
第二篇:深入探索开源数据库高可用:构建基于CLup的PostgreSQL生产级高可用与读写分离架构
数据库·postgresql·开源·clup
xieliyu.19 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
Micro麦可乐19 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
码农阿豪19 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
鼎讯信通20 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
CryptoPP20 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫20 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
三十..20 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
cfm_291421 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
阳区欠21 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain