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

相关推荐
知识分享小能手5 分钟前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
+VX:Fegn089526 分钟前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
一 乐44 分钟前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
阿里嘎多学长1 小时前
2026-09-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
SelectDB1 小时前
同等资源下 Apache Doris 4.2 vs StarRocks 4.1.1:1TB SSB 与 TPC-H 性能实测
大数据·数据库·数据分析
这个DBA有点耶1 小时前
数据库集群与分布式架构:三条技术路线对比、金仓KES RAC实测数据与决策框架
数据库·程序员·架构
MayBaymax1 小时前
MongoDB 索引与事务
java·数据库·mongodb
SelectDB2 小时前
Doris vs ClickHouse:企业 OLAP 走向下一阶段,两种技术路线如何选择
大数据·数据库·数据分析
vx-程序开发2 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
一 乐2 小时前
养老院管理系统|基于springboot + vue养老院管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计