在远程非桌面版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. 编译和运行:通过终端手动执行构建和运行命令。
相关推荐
无为之士11 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
岑梓铭27 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
努力学习的小廉28 分钟前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei31 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
丰色木夕40 分钟前
Ubuntu下的tcl/tk编程快速入门
ubuntu·tcl·tk
7yewh1 小时前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
小张认为的测试1 小时前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
打鱼又晒网1 小时前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
大妞1 小时前
ubuntu20.04 install vscode[ROS]
ubuntu
良许Linux1 小时前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网