搭建linux_qt编译环境说明

目录

linux arm qt install

安装交叉编译工具

交叉编译器

下载gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

sudo mkdir /usr/local/arm
sudo tar xf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz -C /usr/local/arm/
sudo vi /etc/profile
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

重启电脑

sudo apt-get install lsb-core lib32stdc++6
arm-linux-gnueabihf-gcc -v

编译 tslib

qt 依赖tslib需要交叉编译

sudo apt-get update
sudo apt-get install autoconf automake libtool

./configure --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/home/alientek/tslib-1.21/arm-tslib

make
make install


file bin/ts_calibrate //进入arm-tslib 显示为arm类型

编译 其他lib

编译 qt

下载qt源码
ubuntu下载地址
wget https://download.qt.io/archive/qt/5.12/5.12.9/single/qt-everywhere-src-5.12.9.tar.xz

修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)

编辑编译脚本

#!/bin/sh
COMPILE_PATH=/home/lijiangsheng/workspace/qt_compile_new
./configure -prefix $COMPILE_PATH/qtlib_5.12_arm_ljs \
  -confirm-license \
  -xplatform linux-arm-gnueabi-g++ \
  -release        \
  -opensource     \
  -shared         \
  -make libs      \
  -optimized-qmake  \
  -pch              \
  -qt-libjpeg       \
  -qt-libpng        \
  -qt-zlib          \
  -qt-freetype      \
  -no-opengl        \
  -no-openssl       \
  -linuxfb          \
  -silent           \
  -no-iconv         \
  -no-sse2          \
  -no-cups          \
  -no-compile-examples    \
  -nomake tools     \
  -tslib            \
  -I $COMPILE_PATH/build-lib/build-tslib/tslib-arm/include \
  -L $COMPILE_PATH/build-lib/build-tslib/tslib-arm/lib     \
  -alsa             \
  -I $COMPILE_PATH/build-lib/alsa/include \
  -L $COMPILE_PATH/build-lib/alsa/lib     \
  -I $COMPILE_PATH/build-lib/build-bluez/bluez-arm/include \
  -L $COMPILE_PATH/build-lib/build-bluez/bluez-arm/lib     \

time(make -j8)

make install

添加运行权限,运行脚本

安装 qt

安装同版本qtcreator

编辑kit套件

工具选项界面

qt versions 手动添加选择 arm_qt 前面编译的 ARM 平台的 Qt 库下的qmake
编译器 手动添加 ARM_GCC 交叉编译工具下的GCC

KIT 手动添加 arm-qt, c++ 选择ARM_GCC QTversion 选择arm_qt

添加远程调试环境

编译程序

选择工程 kit 选择 arm-qt 编译

相关说明可参照正点原子安装说明 08【正点原子】I.MX6U移植Qt5.12.9_V1.1.pdf

sion 选择arm_qt

添加远程调试环境

编译程序

选择工程 kit 选择 arm-qt 编译

相关说明可参照正点原子安装说明 08【正点原子】I.MX6U移植Qt5.12.9_V1.1.pdf

<think>好的,我现在需要帮助用户在Linux系统上配置QT的静态编译环境。首先,我得回想一下用户提供的引用内容,看看里面有没有相关的步骤或者配置参数。引用1提到了使用已经搭建好的静态编译环境来编译linuxdeployqt,并且有具体的命令:解压、进入目录、qmake、make安装。这可能涉及到静态编译工具链的配置。 接下来,引用2和引用3都涉及到了配置Qt静态编译的步骤。引用2中的配置命令是./configure -static -sql-mysql -continue -nomake examples -qt-xcb -prefix /opt/Qt5.7.0_static,这里的关键参数是-static,表示启用静态编译,还指定了安装路径和排除了examples的编译。引用3中的配置命令虽然是在Windows环境下,但参数类似,比如-static和指定路径,还有包含MySQL的路径。 用户的需求是在Linux上配置,所以需要综合引用2中的Linux配置步骤。首先,用户需要下载Qt源码,然后解压。然后进入源码目录,运行configure脚本,加上-static参数,以及其他需要的模块参数,比如-sql-mysql,如果用户需要MySQL支持的话。还要注意可能需要安装依赖库,比如XCB相关的库,因为引用了-qt-xcb参数,这可能是在Linux下使用X11窗口系统需要的。 另外,引用1提到的linuxdeployqt工具可能是在打包静态编译后的程序时使用的,用户可能需要后续步骤来打包应用程序,但当前问题主要是配置静态编译环境,所以可能需要先完成Qt的静态编译安装,然后再处理部署工具。 步骤应该是这样的:安装依赖库,下载Qt源码,配置静态编译参数,执行make和make install,最后验证安装是否正确。需要确保在配置时正确启用静态编译,并且处理可能出现的依赖问题,比如MySQL的头文件路径或者库文件路径,如引用3中提到的-I参数指定路径,可能在Linux环境下需要类似的调整。 用户可能会遇到的问题包括:configure过程中提示缺少依赖库,比如XCB开发包、OpenGL库等,这时候需要安装相应的开发包。例如,在Ubuntu上可能需要安装libxcb-xinerama0-dev,libgl1-mesa-dev等。另外,静态编译可能需要静态版本的依赖库,如果系统中没有,可能需要手动编译这些库的静态版本,这可能会比较复杂。 另外,引用2中的-prefix参数指定了安装路径,用户需要确保该路径有写入权限,或者更改为用户有权限的路径,比如/home/user/Qt_static。配置完成后,执行make会需要较长时间,因为要编译整个Qt的静态版本。如果中途出现错误,可能需要检查配置参数是否正确,或者是否缺少某些依赖。 最后,安装完成后,用户需要配置Qt Creator,使用新编译的静态Qt套件,这样在构建项目时可以选择静态构建选项。这可能涉及到在Qt Creator中添加新的Qt版本,并指定qmake的路径,例如/opt/Qt5.7.0_static/bin/qmake。 总结步骤:安装依赖、配置Qt源码的静态编译选项、编译安装、配置开发环境。需要详细说明每个步骤的具体命令和可能的问题解决方案,确保用户能顺利搭建环境。</think>### 如何在Linux上配置Qt静态编译环境? 以下是分步配置Qt静态编译环境的流程: --- #### **1. 安装系统依赖** 在编译前,确保安装必要的开发库: ```bash sudo apt-get install build-essential libgl1-mesa-dev libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libssl-dev libsqlite3-dev ``` 这些依赖涵盖X11、OpenGL、SSL、SQLite等模块的支持[^2][^3]。 --- #### **2. 下载Qt源码** 从[Qt官网](https://download.qt.io/)下载对应版本的源码包(例如:`qt-everywhere-src-5.15.2.tar.xz`),解压并进入目录: ```bash tar -xvf qt-everywhere-src-5.15.2.tar.xz cd qt-everywhere-src-5.15.2 ``` --- #### **3. 配置静态编译参数** 运行`configure`脚本,启用静态编译并指定模块: ```bash ./configure -static \ # 启用静态编译 -prefix /opt/Qt5.15.2_static \ # 安装路径 -sql-mysql \ # 启用MySQL支持(需提前安装MySQL开发库) -nomake examples \ # 不编译示例 -nomake tests \ # 不编译测试 -skip qtwebengine \ # 跳过复杂模块(可选) -qt-xcb # 启用XCB插件(Linux图形支持) ``` 若需其他模块(如`qtmultimedia`),需确保依赖库已安装[^3]。 --- #### **4. 编译与安装** 执行编译(耗时较长): ```bash make -j$(nproc) # 使用多核加速编译 sudo make install ``` 编译成功后,静态Qt环境将安装在`/opt/Qt5.15.2_static`。 --- #### **5. 验证静态环境** 检查生成的库是否为静态链接: ```bash file /opt/Qt5.15.2_static/lib/libQt5Core.a ``` 输出应为`current ar archive`,表明是静态库。 --- #### **6. 配置Qt Creator** 在Qt Creator中添加静态Qt版本: 1. 打开 **工具 > 选项 > Kits > Qt版本**,点击“添加”,选择`/opt/Qt5.15.2_static/bin/qmake`。 2. 在 **构建套件** 中关联该Qt版本和编译器。 --- #### **常见问题** - **MySQL驱动缺失**:编译时需指定MySQL头文件和库路径,例如: ```bash ./configure ... -I /usr/include/mysql -L /usr/lib/mysql ``` - **XCB插件错误**:检查是否安装了`libxcb-*`开发包。 - **静态链接失败**:确保所有依赖库(如OpenSSL)提供静态版本(`.a`文件)。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值