前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ubantu16.04搭建Qt环境

ubantu16.04搭建Qt环境

作者头像
DeROy
修改2020-08-19 11:01:08
2K0
修改2020-08-19 11:01:08
举报

点击蓝字 关注我们

目录
  • ubantu16.04搭建Qt环境
    • 下载opensource
    • 安装qmake
      • 安装g++以及依赖库
      • 配置环境
      • 编译原码
      • 安装make
      • 查看qmake是否安装
    • 配置环境变量
    • qmake编译c/c++代码
    • 安装qtcreator
    • Linux编译Qt代码

ubantu16.04搭建Qt环境

下载opensource

「下载 qt-everywhere-opensource-src-4.8.7.tar.gz:http://download.qt-project.org/archive/qt/4.8/4.8.7/」

地址

安装qmake
安装g++以及依赖库
sudo apt-get install g++
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool

Linux下解压解压qt-everywhere-opensource-src-4.8.7.tar.gz

tar -xzvf qt-everywhere-opensource-src-4.8.7.tar.gz
cd qt-everywhere-opensource-src-4.8.7		
配置环境

运行config配置qt环境

./configure

配置过程中:选择 o ;选择yes;后面回车,稍等片刻

编译原码

直接make编译原码

make	#漫长的等待

吐槽一下,编译了快一个小时,这是第三次配置qt环境

安装make
sudo make install #安装完毕

这个就很快乐了

查看qmake是否安装

/usr/local/Trolltech/Qt-4.8.7/bin是安装目录

cd /usr/local/Trolltech/Qt-4.8.7/bin
./qmake -v	#返回下面结果说明安装成功
QMake version 2.01a
Using Qt version 4.8.7 in /usr/local/Trolltech/Qt-4.8.7/lib

记下当前路径

pwd	#获取当前路径,配置环境变量要用
/usr/local/Trolltech/Qt-4.8.7/bin
配置环境变量
sudo gedit /etc/profile

底部添加下面路径

QTDIR=/usr/local/Trolltech/Qt-4.8.7/
	PATH=$QTDIR/bin:$PATH
	MANPATH=$QTDIR/doc/man:$MANPATH
	LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
	export QTDIR PATH MANPATH LD_LIBRARY_PATH

注意:QTDIR=/usr/local/Trolltech/Qt-4.8.7/是我的路径,你需要改成上一步记下的路径

source /etc/profile	#更新完之后颜色变灰了
cd ~	#回到用户目录
qmake -v	#查看版本
QMake version 2.01a
Using Qt version 4.8.7 in /usr/local/Trolltech/Qt-4.8.7/lib
exit	#退出当前终端
#重新打开终端
qmake -v	#又找不到qmake

解决办法:

cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/
sudo gedit default.conf

default.config里面的内容如下

 /usr/lib/x86_64-linux-gnu/qt4/bin
 /usr/lib/x86_64-linux-gnu/qt4

更换成pwd的那个路径

 /usr/local/Trolltech/Qt-4.8.7/bin
 /usr/local/Trolltech/Qt-4.8.7
qmake编译c/c++代码

在一个项目文件夹下面创建一个main.c文件

touch work
cd work
vim main.c

编辑如下代码

#include<stdio.h>
int main(int argc,char* argv[])
{
    printf("\033[1;33mhello world\033[0m \n");	
    return 0;
}

在Linux下gcc正常编译的话是

gcc main.c -o main

使用qmake编译

➜  work qmake -project
➜  work ls
main.c  qmake_demo  work.pro

查看qt_test.pro文件信息

######################################################################
# Automatically generated by qmake (2.01a) Wed Jul 1 22:47:14 2020
######################################################################

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
SOURCES += main.c

看不懂没关系,下一步生成makefile

qmake -makefile

这里生成的makefile比较复杂,就不列举了

➜  work vim work.pro
➜  work qmake -makefile
➜  work ls
main.c  Makefile  qmake_demo  work.pro
➜  work vim Makefile
➜  work make
gcc -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.c
main.c: In function ‘main’:
main.c:2:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
 int main(int argc,char* argv[])
              ^
main.c:2:25: warning: unused parameter ‘argv’ [-Wunused-parameter]
 int main(int argc,char* argv[])
                         ^
g++ -m64 -Wl,-O1 -o work main.o    -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread
➜  work ls
main.c  main.o  Makefile  qmake_demo  work  work.pro
➜  work ./work
hello world

qmake小结:

qmake -project
qmake -makefile
make
安装qtcreator
sudo apt-get install qtcreator

ps这个就简单多了

Linux编译Qt代码

演示

首先准备一个qt项目,将qt代码中的.h、.cpp、.ui文件移动到Linux下

➜  work ls
main.cpp        mainwindow.ui       Translate_CN.ts  ui_mainwindow.h
mainwindow.cpp  moc_mainwindow.cpp  Translate_EN.qm
mainwindow.h    Translate_CN.qm     Translate_EN.ts
➜  work
➜  work qmake -project
➜  work gedit work.pro
➜  work qmake -makefile
➜  work make -j4
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o main.o main.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o mainwindow.o mainwindow.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o moc_mainwindow.o moc_mainwindow.cpp
g++ -m64 -Wl,-O1 -o work main.o mainwindow.o moc_mainwindow.o    -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread
➜  work ls
main.cpp        mainwindow.o        moc_mainwindow.o  Translate_EN.ts
main.o          mainwindow.ui       Translate_CN.qm   ui_mainwindow.h
mainwindow.cpp  Makefile            Translate_CN.ts   work
mainwindow.h    moc_mainwindow.cpp  Translate_EN.qm   work.pro
➜  work ./work
➜  work

在gedit qt_test.pro 添加下面代码

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程学习基地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • ubantu16.04搭建Qt环境
    • 下载opensource
      • 安装qmake
        • 安装g++以及依赖库
        • 配置环境
        • 编译原码
        • 安装make
        • 查看qmake是否安装
      • 配置环境变量
        • qmake编译c/c++代码
          • 安装qtcreator
            • Linux编译Qt代码
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档