在远程非桌面版Ubuntu中使用Qt5构建Hello World项目

在 Linux 下运行 Qt 应用程序,需要完成以下几个步骤,包括安装 Qt 工具、设置开发环境以及编译和运行项目。下面是详细的步骤:

1. 安装 Qt

1.1使用系统包管理器

sudo apt updatesudo apt install qt5-default qtcreator 命令用于更新 Ubuntu 的软件包列表并安装 Qt 5 的默认库以及 Qt Creator IDE。这些命令在桌面版和非桌面版(如 Ubuntu Server)的 Ubuntu 上都可以运行,但使用体验会有所不同。

复制代码
sudo apt update
sudo apt install qt5-default qtcreator
  1. 图形环境:非桌面版的 Ubuntu 默认没有图形用户界面(GUI)。Qt Creator 是一个图形界面的集成开发环境(IDE),因此,如果您想在非桌面版上直接使用它,您需要安装和配置一个图形环境,如 X11 服务器(例如 Xvfb)或通过 SSH X11 转发。

  2. 远程开发 :如果您不打算在非桌面版 Ubuntu 上运行图形界面,您仍然可以安装 Qt 库(qt5-default)以进行 Qt 应用程序的开发。在这种情况下,您可以在另一台计算机上使用 Qt Creator,并将项目配置为远程编译和运行在非桌面版 Ubuntu 上。

  3. 命令行工具 :对于非桌面环境,您可能更倾向于使用命令行工具(如 qmakemake)来编译和管理您的 Qt 项目。这些工具随 qt5-default 包一起安装,无需图形界面即可使用。

1.2使用 Qt Online Installer (桌面版) 具体访问Qt官网

2. 安装开发工具

确保安装了编译工具,如 g++make。可以使用以下命令安装:

复制代码
sudo apt install build-essential

build-essential 是一个元包,它包含了编译 C 和 C++ 应用程序所需的一系列工具和库。具体来说,它包括:

  • GNU 编译器集合(gcc 和 g++)
  • make 工具
  • 其他必要的库和开发工具

3. 安装 X 虚拟帧缓冲(Xvfb)(可选)

在服务器环境下没有图形界面,因此可以安装 X 虚拟帧缓冲(Xvfb)来模拟图形环境,以便运行 Qt 应用程序。

复制代码
sudo apt install xvfb

4. 设置环境变量(不需要)

为了让Linux系统知道 Qt 的安装位置,还需要设置环境变量。假设你将 Qt 安装在 /opt/Qt 目录下:

复制代码
export PATH=/opt/Qt/Tools/QtCreator/bin:/opt/Qt/5.15.2/gcc_64/bin:$PATH

但是请注意 :

  • 使用 apt 安装 Qt 时:一般不需要手动添加路径,系统会自动处理好。
  • 手动安装 Qt 时:可能需要手动设置 PATH 环境变量,具体取决于安装位置。

使用 apt 安装 qt5-defaultqtcreator 时,Qt 和 Qt Creator 通常会安装在系统的标准目录中(例如 /usr/include/qt5/usr/lib/x86_64-linux-gnu/qt5),这些目录通常已经包含在系统的库路径和头文件搜索路径里。在通过 apt 安装的情况下,Qt Creator 的可执行文件也会放在 /usr/bin 中,这个路径默认是包含在系统的 PATH 环境变量中的。

5. 构建"Hello World"项目

5.1. 创建project项目

首先,为你的项目创建一个目录,例如 project:

复制代码
mkdir project
cd project
5.2. 创建 .pro 文件

在项目目录中创建一个 .pro 文件。你可以使用 qmake-project 选项来生成一个基本的 .pro 文件,但也可以手动创建和编辑这个文件。

手动创建 .pro 文件

创建一个名为 hello.pro 的文件,并在其中添加以下内容:

复制代码
QT += core
QT -= gui

CONFIG += c++11

TARGET = hello
TEMPLATE = app

SOURCES += main.cpp

这个 .pro 文件配置了项目的基本设置:

  • 使用 Qt Core 模块。
  • 不使用 Qt GUI 模块。
  • 启用 C++11 特性。
  • 目标文件名为 hello。
  • 项目模板为应用程序。
  • 包含一个源文件 main.cpp

QT += core:

指定该项目使用 Qt Core 模块。Qt Core 模块提供了构建 Qt 应用程序的基本功能,如事件循环、信号与槽、时间管理等。

QT -= gui:

取消使用 Qt GUI 模块。这意味着该项目不使用图形用户界面相关的功能。通常在构建命令行工具或服务器应用程序时会这么做。

CONFIG += c++11:

启用 C++11 特性,允许使用 C++11 提供的语法和库功能。C++11 引入了一些新特性,如智能指针、范围 for 循环、lambda 表达式等。

TARGET = hello:

指定生成的可执行文件的名称为 hello。这个名称将在构建后生成对应的可执行文件。

TEMPLATE = app:

指定该项目的模板类型为应用程序。app 意味着这是一个完整的可执行应用程序,而不是一个库或其他类型的构建。

SOURCES += main.cpp:

指定项目的源文件。这里指定了一个名为 main.cpp 的源文件,该文件中包含项目的实现代码。

5.3. 创建源文件并生成Makefile

在项目目录中创建一个名为 main.cpp 的文件,并添加一些简单的代码。例如:

复制代码
#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "Hello, Qt!";
    return a.exec();
}

这个代码创建了一个简单的 Qt 应用程序,输出 "Hello, Qt!"。

在项目目录中运行以下命令来生成 Makefile:

复制代码
qmake

qmake 会读取 .pro 文件并生成相应的 Makefile

5.5. 编译并运行项目

使用 make 命令编译项目:

复制代码
make

这将生成可执行文件 hello 在当前目录中。你可以使用 ./ 运算符运行生成的可执行文件:

复制代码
./hello

如果一切正常,你将看到输出:

复制代码
Hello, Qt!

6. 解决依赖问题

如果你在运行时遇到依赖问题(如缺少动态库),可以通过以下命令进行修复:

复制代码
sudo apt install <missing-library-name>

通常,可以通过系统的包管理器找到所需的库。例如,如果缺少 libQt5Widgets.so 等,可以安装以下包:

复制代码
sudo apt install libqt5widgets5

总结

  1. 安装 Qt:通过系统包管理器安装 Qt。
  2. 安装开发工具:安装所需的编译工具。
  3. 创建并编写 Qt 项目:创建新项目并编辑代码。
  4. 编译和运行:通过终端手动执行构建和运行命令。
相关推荐
用户9718356334663 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠20 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush421 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52021 小时前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj1 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes