请教,如何在arch下建立qt编译环境的问题
发布网友
发布时间:2022-05-02 06:38
我来回答
共1个回答
热心网友
时间:2022-06-29 04:35
一、安装G++环境
sudo apt-get install build-essential
另外的一些相关环境。如果不安装,一些qt的组件是无法正常编译的,例如openGL
sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev
二、解压代码
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解压完进入解压后的源代码文件夹
三、执行。/configure生成makefile
。/configure -prefix /usr/local/Qt-4.8.2
(上面指定的这个目录/usr/local/Qt-4.8.2 ,就是make install 后的安装目录)
下面出现对话框选择open source edition.这是自由版。输入yes接受协议。
(1)如果你的机器各种库文件完整,经过一小会,配置完成,会出现以下信息
Qt is now configured for building ,just run ‘make’
Once everything is built , you must run ‘make install’
Qt will be installed into /usr/local/Qt-4.8.2
To reconfigure ,run ‘make confclean’ and ‘configure’
说明Makefile文件生成成功
(2)如果出现以下信息
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
还是老办法,以不变应万变。进config.test/x11/xlib 执行make命令,看出错信息
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm
/usr/bin/ld: cannot find -lXext
看到了吧,g++在/usr/X11R6/lib下,找不到libXext.so呢。
其原因就在于需要安装libX11的开发包,在Ubuntu/debian里包名都是libX11-dev
根据以往的经验,在。/configure前主动装好下面3个包,基本上就万事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安装所需到包后再重新。/configure即可生成Makefile文件
如果出现:Project ERROR: Package gstreamer-app-0.10 not found,则执行以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev如果出现 : g++: error: unrecognized command line option ‘-fuse-ld=gold’
这是Qt的一个bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在装有gold linker的系统里,编译脚本会加入-fuse-ld=gold选项,但这个选项gcc是不支持的。解决办法是移除该选项,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。
#
QMAKE_LFLAGS+=-fuse-ld=gold
四、编译QT
执行make命令,需要2个小时。
五、安装QT
运行sudo make install命令。需要几分钟时间,默认安装到/usr/local/Qt-4.8.2. 运行/usr/local/Qt-4.5.3/bin/designer ,若能启动QT,说明QT已经安装好了。
六、设置环境变量
更改用户环境变量
gedit /home/username/.bashrc
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
更改包括root用户的环境变量
sudo gedit /etc/profile (此处profile文件要更改一下权限才能写入)
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
七、测试环境变量
重启测试环境变量:
qmake -v
显示版本信息:
QMake version 2.01a
Using Qt version 4.8.2 in /usr/local/Qt-4.8.2/lib
which qmake
显示安装位置信息:
/usr/local/Trolltech/Qt-4.8.2/bin/qmake
环境变量设置成功。
代码:
如果需要在Qt中引用其他的包以及库文件,则使用:
INCLUDEPATH += /usr/local/include/
INCLUDEPATH += /usr/local/include/Eigen
INCLUDEPATH += /usr/local/include/boost
INCLUDEPATH += /usr/local/include/CGAL
LIBS += -L/usr/local/lib/ -lgmp
LIBS += -L/usr/local/lib/ -lmpfr
其中LIBS参数中 -l后只能接特定某一个库文件,且如果该文件为 “libxxx.so“,则-l后只接“xxx”。
上面就是搭建Qt开发环境的方法介绍了,作为一个良好的跨平台开发工具,Qt能够很好的运行于更大主流系统,拥有丰富的API等。
(未完)ubuntu20.04 qt6.2.4 aarch64 开发编译环境配置
先写个c文件交叉编译试试 main.cpp内容:编译通过后通过file指令查看文件类型是否是ELF:64bit LSB shared object,ARM aarch64...。如果是,则完成源码编译。编译后生成了main可执行文件,拷贝到arm64平台测试,查看输出:hello world!!!。Qt编译arm64(aarch64)环境搭建 下载qt6.2.4源代码,在虚...
...Linux开发板基于Buildroot系统QT应用环境配置开发运行
创建第一个QT程序并测试。配置QtCreator开发环境,包括选择编译器、设置路径和ABI,添加Qt版本(找到qmake路径),并配置kit标签。遇到问题时,可能需要修改编译器的ABIs以消除错误。最后,将QT程序移植到IMX6ULL开发板。创建一个新的Qt Widgets Application工程,设置Kits为100ask_imx6ull,创建UI并编译项目。
解决Arch Linux KDE 下 Qt Creator 无法输入中文问题的一次尝试
通过设置 QT_PLUGIN_PATH=/usr/lib/qt6/plugins,我找到了问题所在:Qt Creator 使用 Qt 6.5.0 编译,而 fcitx5-qt 也是用此版本编译的,这在逻辑上没有问题。然而,Qt 官方提供的 Qt Creator 二进制文件是用 Qt 6.4.3 编译的,这导致使用低版本 Qt 编译的程序无法加载高版本 Qt 编译的插...
临时解决arch+xfce下wps for linux的dpi缩放问题
针对这一问题,网上推荐了在wps的启动文件(如\usr\bin\wps)最前加入以下命令的方法:export QT_QPA_PLATFORMTHEME=qt5ct, export QT_SCALE_FACTOR=1.5, export QT_STYLE_OVERRIDE=kvantum(其中1.5代表1.5倍缩放,2倍则为2)。通常需要先安装kvantum(通过pacman -S kvantum命令实现)以确保配置...
arch下怎么装fcitx
如果使用 KDM, GDM, LightDM 等显示管理器,请在 ~/.xprofile 中加入以下代码;如果您用 startx 或者 Slim 启动,则改在 ~/.xinitrc 中加入:export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"重新登录后让环境变量生效。具体可以查阅arch的wiki fcitx部分 ...
在Gnome桌面环境为qt程序设置qt主题
首先贴一下我的系统配置,供大家参考:关于如何让qt程序与gtk程序风格统一,可以参考 archwiki 上的这篇文章: Uniform look for Qt and GTK applications 。我目前使用的方法就是安装 qt5ct :在 $HOME/.pam_environment 中写入 QT_QPA_PLATFORMTHEME=qt5ct ,保存后重新登录。终端运行 qt5ct 或者搜索...
Mac写Qt所遇到的问题
在使用Mac编写Qt程序时,可能会遇到一些问题。首先,编译过程中可能出现"failed to parse default search paths from compiler output"的错误,这是因为Qt创建的编译环境存在一个bug,该bug在6.6版本之后已修复。解决方案是前往codereview.qt-project.org下载对应的toolchain.prf文件,替换Qt安装目录下的相应...
Mac写Qt所遇到的问题
首先,如果在编译时遇到“failed to parse default search paths from compiler output”的错误,并且Qt Creator的工程视图中只有.pro文件,这可能是由于Qt创建编译环境时存在bug。解决这个问题的方法是下载并替换本地的toolchain.prf文件,该文件可以从链接codereview.qt-project.org...中找到。本地文件通常...
如何在ubuntu下安装qt-creator-linux-x86
你可以直接在Qt Creator的向导里新建一个非Qt使用CMake自动构建的项目,这意味着你不用自己写Makefile,你只要在Qt Creator里“执行CMake”就能自动生成。当然,你也可以导入一个make构建的项目到Qt Creator里编译调试,比如Nginx。 1、安装Qt Creator和基础构建环境(以Ubuntu为例): ...
qt中怎么添加config.h
-external-hostbindir: 指定为这台机器构建的Qt工具路径,当-platform和当前系统不匹配时使用,例如:创建交叉编译。可以使用下面选项来对安装目录进行微调,请注意,所有目录除-sysconfdir外,其他的应位于-prefix和-hostprefix下。-bindir: 可执行文件安装目录,[PREFIX/bin]。-headerdir: 头文件安装...