提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
简介
环境如下:
OS: Ubuntu 20.04.6 LTS
QT:5.15.8
VSCode: 1.92
一、安装QT5.15.8
从源码编译 Qt 5.15
1.安装必要的依赖包:
打开终端并运行以下命令以安装编译 Qt 所需的依赖:
sudo apt update
sudo apt install build-essential libgl1-mesa-dev libglib2.0-dev libssl-dev
libssl-dev 提供了 OpenSSL 头文件和库,
-I 和 -L 标志用于指定头文件和库的路径,通常这些路径是
/usr/include/openssl 和 /usr/lib。
2.下载 Qt 5.15 源码:
从 Qt 官方下载页面 选择 Qt 5.15 的源码包。或者使用以下命令下载(根据实际情况替换版本号和文件名):
wget https://download.qt.io/archive/qt/5.15/5.15.8/single/qt-everywhere-src-5.15.8.tar.xz
3.解压源码包:
tar -xvf qt-everywhere-src-5.15.8.tar.xz
4.创建构建目录并进入该目录:
mkdir qt-build
cd qt-build
5.配置 Qt 构建:
运行 …/qt-everywhere-src-5.15.8/configure 进行配置。您可以根据需要添加配置选项。一个基本的配置命令如下:
./qt-everywhere-src-5.15.8/configure -prefix /opt/qt5.15 -opensource -confirm-license
本项目需要在编译 Qt 时启用 SSL,因此使用以下配置命令
./qt-everywhere-src-5.15.8/configure -prefix /opt/qt5.15 -opensource -confirm-license -openssl-linked -I/usr/include/openssl -L/usr/lib
6.编译 Qt:
make -j$(nproc)
$(nproc) 会自动检测系统的 CPU 核心数,从而加速编译过程。
7.安装 Qt:
sudo make install
检查系统上 OpenSSL 的版本:
安装好了之后可以 检查 OpenSSL 库版本有时,即使系统安装了 OpenSSL,Qt 也可能链接到错误的库。你可以检查 OpenSSL 库的版本,确保它与 Qt 兼容。
openssl version
如果版本过旧或有问题,尝试更新到更高版本。
检查是否启用了 Qt 的 OpenSSL 支持
有时,尽管系统上安装了 OpenSSL,Qt 并没有正确链接到 OpenSSL。这可能是因为 Qt 安装时没有使用 OpenSSL 或使用了错误版本的 OpenSSL。
你可以使用 qmake 来查看 Qt 是否启用了 SSL 支持:
qmake -query
输出中你应该看到与 SSL 相关的设置,例如:
QT_SSL_LIBS: -lssl -lcrypto
如果没有看到这些信息,说明 Qt 没有正确链接到 SSL 库。
8.设置环境变量:
编辑 ~/.bash_profile 文件
nano ~/.bashrc
添加以下内容
export QTDIR=/opt/qt5.15
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
保存文件并退出 nano 编辑器:
按 Ctrl + X 退出。
按 Y 确认保存更改。
按 Enter 确认文件名
然后重新加载配置文件:
source ~/.bashrc
8.验证安装:
无论使用哪种方法安装 Qt 5.15,您都可以通过以下命令验证安装是否成功:
qmake -v
预期输出应显示 Qt 5.15.x 的版本信息:
QMake version 3.x
Using Qt version 5.15.x in /path/to/qt
二、安装VSCode
1.通过下载包安装VSCode(Visual Studio Code)
1.访问VSCode官网
首先,打开Ubuntu的浏览器,访问VSCode的官方网站(https://code.visualstudio.com/)。在官网首页,你可以找到“Download”按钮,点击它进入下载页面。
2.选择安装包
在下载页面,你需要选择适合Ubuntu的安装包。对于大多数Ubuntu用户,应该选择.deb格式的安装包,因为它与Debian及其衍生系统(如Ubuntu)兼容。VSCode1.92不兼容Ubuntu20以前的版本。
3.下载安装包
点击.deb安装包的下载链接,浏览器会开始下载该安装包。你可以选择将安装包保存到任何你容易找到的位置,比如“下载”文件夹。
4.打开终端并安装
打开终端:在Ubuntu中,你可以通过快捷键Ctrl+Alt+T打开终端。
导航到安装包所在目录:使用cd命令进入包含VSCode安装包的文件夹。例如,如果你的安装包在“下载”文件夹中,你可以输入cd ~/Downloads来进入该文件夹。
安装VSCode:使用dpkg命令来安装VSCode。你需要使用sudo来获取必要的权限。命令如下:下载安装包
sudo dpkg -i code_版本号-amd64.deb
请将版本号替换为你下载的VSCode安装包的实际版本号。
注意:在安装过程中,如果dpkg报告缺少依赖项,你可以使用sudo apt-get install -f命令来安装这些依赖项,并再次尝试安装VSCode。
4.验证安装
安装完成后,你可以通过在终端中输入code命令来启动VSCode,以验证它是否已成功安装。如果VSCode成功启动,那么安装就是成功的。
5.安装 VSCode 插件
1.C/C++ 插件:这是 Microsoft 官方的 C/C++ 插件,用于提供 C/C++ 的智能感知、调试等功能。
2.Qt for Visual Studio Code:这个插件(或类似的,如 Qt VS Tools,但请注意,Qt VS Tools 是针对 Visual Studio 的)可以帮助你更方便地在 VSCode 中管理 Qt 项目。不过,需要注意的是,截至当前时间,VSCode 的 Qt 支持可能不如 Qt Creator 那么完善。
你可以通过 VSCode 的扩展视图(侧边栏中的方块图标)搜索并安装这些插件。
三、构建和编译
需配置tasks.json,launch.json.setting.json 文件,三个文件的路径,作用见以下。
1.配置任务tasks.json
1.在VSCode中打开你的Qt项目文件夹。
2.按下Ctrl+Shift+P打开命令面板,输入并选择“Tasks: Configure Task”。
3.选择“Create tasks.json file from template” -> “Others”。
在生成的tasks.json文件中,添加两个任务:一个用于运行qmake,另一个用于运行make。
以下是一个tasks.json文件的示例,它包含了qmake和make任务:
{
"version": "2.0.0",
"tasks": [
{
"label": "qmake",
"type": "shell",
"command":"qmake",
"args": [
"-o",
"Makefile",
"sj_ipc_cms_interface.pro"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "make",
"type": "shell",
"command":"make",
"group":{
"kind": "build",
"isDefault": false
},
"problemMatcher":["$gcc"]
},
{
"label": "clean",
"type": "shell",
"command":"make clean",
"group": "build"
}
]
}
3.配置settings.json
{
"terminal.integrated.env.linux": {"PATH":"/opt/qt5.15/bin:${env:PATH}"}
}
4.构建项目:
先运行qmake任务来生成Makefile,在运行make生成可执行文件
1.按下Ctrl+Shift+P打开命令面板,输入并选择“Tasks: Run Task”。
2.选择“qmake” ,完成之后,再选择“make”.
生成的可执行文件在项目主目录之下。
5.运行项目:
为了运行你的Qt应用程序,你可能需要配置一个调试或运行任务。
这通常涉及到创建一个.vscode/launch.json文件,并在其中定义如何启动你的应用程序
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch MyQtProject",
"type":"cppdbg",
"request": "launch",
"program": "${workspaceRoot}/sj_ipc_cms_interface", **//"sj_ipc_cms_interface"需要跟.pro的TARGET 参数设置成一样的直**
"args": [],
"stopAtEntry":false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}],
"preLaunchTask": "qmake",
"miDebuggerPath": "/usr/bin/gdb",
"miDebuggerArgs": "",
"logging": {
"trace": true,
"traceResponse": true,
"engineLogging":true
}
}
]
}
launch.json的配置 “program”: “${workspaceRoot}/sj_ipc_cms_interface”, sj_ipc_cms_interface必须跟.pro中的TARGETS设置成一样的值,
运行:./sj_ipc_cms_interface
5.调试项目:
如果你已经配置了launch.json文件,你可以按下F5来启动调试会话。
确保你的Qt安装路径和环境变量都配置正确,以便VSCode能够找到qmake和make命令。如果你遇到任何问题,检查VSCode的输出或终端面板以获取错误信息。