Ubuntu Server QT开发

平台:Ubuntu 18.04 server.

文件:qt-everywhere-src-5.12.12.tar.xz

1.安装环境

1.1 通用环境

$ sudo apt install build-essential vim bc flex bison gawk libncurses5-dev texinfo curl wget unzip python

1.2 专用环境

$ sudo apt install libx11-dev libxext-dev libxtst-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-x11-dev

2.QT源码编译

2.1 下载QT源码

下载qt源码(http://download.qt.io/), 我下载的是:
[https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz]

2.2 配置QT源码

$ tar -xvf qt-everywhere-src-5.12.12.tar.xz
$ cd qt-everywhere-src-5.12.12/

做如下配置:

$ ./configure \
    -platform linux-g++-64 \
    -opensource \
    -release \
    -confirm-license \
    -qt-xcb \
    -nomake tests \
    -nomake examples

2.3 编译安装

$ make -j4
$ sudo make install

查看是否安装成功:

$ ls /usr/local/Qt-5.12.12/
bin  doc  include  lib  mkspecs  phrasebooks  plugins  qml  translations

如上所示,安装成功。

3.设置环境变量

在shell中执行:

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

[这里的环境变量只是临时生效,关闭shell后就不起作用了,想要永久有效,可以把这几句写到/etc/profile中去(文件最下面即可)]。

4.编写测试代码

$ mkdir -p demo/hello
$ cd demo/hello/
$ vim hello_gui.cpp

hello_gui.cpp填写如下内容:

 1 #include <QApplication>
 2 #include <QLabel>
 3 
 4 
 5 int main(int argc, char **argv)
 6 {
 7         QApplication app(argc, argv);
 8 
 9         QLabel label("hello world");
10 
11         label.resize(100, 50);
12 
13         label.show();
14 
15         return app.exec();
16 }

执行:

$ qmake -project

会生成一个hello.pro的文件,在该文件末尾添加如下内容:

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

执行:

$ qmake
$ make

顺利的话,会生成一个名为"hello"的可执行文件。

5.测试验证

方式1:

MobaXterm通过ssh连接Ubuntu Server,然后在MobaXterm中执行:

$ ./hello

效果图:

方式2:

在Ubuntu的操作界面执行如下操作:

$ ./hello -platform vnc
QVncServer created on port 5900

然后用VNC客户端连接到vnc:192.168.xxx.xxx:5900,就可以看到效果了:

方式3:

在Ubuntu的操作界面执行如下操作:

$ sudo ./hello -platform linuxfb

效果图:

posted @ 2023-04-18 12:28  this毛豆  阅读(315)  评论(0编辑  收藏  举报