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

相关推荐
淼淼爱喝水2 分钟前
【Ansible 入门实战】三种变量详解
java·linux·数据库·ansible·playbook
我不是懒洋洋3 分钟前
【C++】类和对象( 类的定义、实例化、 this指针、 C++和C语言实现Stack对比)
c语言·开发语言·数据结构·c++·经验分享·算法·visual studio
Perry 1233 分钟前
Java中的多态
java·开发语言
云草桑8 分钟前
Odoo企业商用到底是不是免费的?
数据库·odoo·erp
2501_9307077812 分钟前
使用C#代码拆分 PowerPoint 演示文稿
开发语言·c#·powerpoint
故事和你9116 分钟前
洛谷-【图论2-3】最小生成树1
开发语言·数据结构·c++·算法·动态规划·图论
砍材农夫17 分钟前
物联网 基于netty构建mqtt协议规范(三种 QoS 等级)
java·开发语言·物联网
燕-孑18 分钟前
redis详解-进阶
数据库·redis·缓存
故事和你9119 分钟前
洛谷-【图论2-3】最小生成树2
开发语言·数据结构·c++·算法·动态规划·图论
甲方大人请饶命19 分钟前
Java-IO流
java·开发语言