在ubuntu vscode中创建qt项目
时间: 2025-03-20 18:06:20 浏览: 49
### 配置 Ubuntu 系统上的 Visual Studio Code 开发 Qt 项目
要在 Ubuntu 系统上通过 Visual Studio Code 创建并开发 Qt 项目,可以按照以下方法完成配置。
#### 安装必要的软件包
首先需要安装 Qt SDK 和其他依赖项。可以通过命令行执行以下操作来安装所需的工具链:
```bash
sudo apt update
sudo apt install qtbase5-dev qtcreator build-essential cmake gdb
```
这一步会安装 Qt 的基础库以及 CMake 构建工具和调试器 GDB[^1]。
#### 设置 VSCode 工作区
创建一个新的工作目录用于存储项目的源码和其他资源文件。假设项目名为 `MyQtProject`,则可以在终端中运行如下命令初始化项目结构:
```bash
mkdir MyQtProject && cd MyQtProject
mkdir src include build .vscode
touch main.cpp CMakeLists.txt
```
这里分别创建了存放源代码 (`src`)、头文件 (`include`)、构建产物 (`build`) 及 IDE 特定配置文件夹 (`.vscode`) 的子目录[^2]。
#### 编写基本的 CMake 文件
为了支持现代 C++ 和 Qt 功能模块,在根路径下的 `CMakeLists.txt` 中定义好目标及其属性:
```cmake
cmake_minimum_required(VERSION 3.16)
project(MyQtApp VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Widgets)
```
上述脚本指定了最低版本需求,并引入了两个主要组件——核心功能(Core)与窗口部件(widgets)。
#### 添加 IntelliSense 支持
为了让编辑器能够理解当前使用的标准库位置以及其他编译选项参数,需手动调整 `.vscode/c_cpp_properties.json` 文件的内容。例如下面的例子展示了如何指定包含路径以便获得更好的代码补全体验:
```json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"/usr/include/x86_64-linux-gnu/qt5",
"/usr/include/x86_64-linux-gnu/qt5/QtCore",
"/usr/include/x86_64-linux-gnu/qt5/QtGui",
"/usr/include/x86_64-linux-gnu/qt5/QtWidgets"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "gnu11",
"cppStandard": "gnu++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
```
此 JSON 对象设置了多个关键字段,比如自定义头文件查找范围(`includePath`)还有所选的标准方言(`cppStandard`)[^2]。
#### 调试配置
最后一步就是让开发者能够在遇到错误时快速定位问题所在之处。为此应该修改 launch configuration 来适配实际应用场景中的可执行二进制的位置。打开 settings 并找到 `"launch"` 键关联数组部分添加类似这样的条目:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
```
其中特别需要注意的是 program 字段指向最终生成的应用程序实例地址[^3]。
---
阅读全文
相关推荐



















