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

相关推荐
feifeigo1232 小时前
Leslie人口模型MATLAB实现(中长期人口预测)
开发语言·matlab
写代码的二次猿2 小时前
安装openfold(顺利解决版)
开发语言·python·深度学习
一只大袋鼠2 小时前
Redis 安装+基于短信验证码登录功能的完整实现
java·开发语言·数据库·redis·缓存·学习笔记
Anastasiozzzz2 小时前
深入研究Redis的ZSet底层数据结构:从 Ziplist 的级联更新到 Listpack 的完美救场
数据结构·数据库·redis
菠萝蚊鸭2 小时前
x86 平台使用 buildx 基于源码构建 MySQL Wsrep 5.7.44 镜像
数据库·mysql·galera·wsrep
※DX3906※3 小时前
Java排序算法--全面详解面试中涉及的排序
java·开发语言·数据结构·面试·排序算法
森G3 小时前
8、交叉编译x264----------Opencv移植Arm
qt
笨笨马甲4 小时前
Qt QSS使用指南
开发语言·qt
沙漏无语5 小时前
(二)TIDB搭建正式集群
linux·数据库·tidb