VScode+CMake+Qt6简单配置说明

1.Build

Ninja配置方法在下面

1.CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cmake_minimum_required(VERSION 3.16)

project(Qt-Examples VERSION 0.1 LANGUAGES CXX)

list(APPEND CMAKE_PREFIX_PATH "C:\\Qt\\6.6.2\\msvc2019_64")

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
#qt_standard_project_setup() 这个识别不了

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 COMPONENTS Widgets REQUIRED)

add_subdirectory(Battery)

2.Battery文件夹下CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
batterywidget.h
batterywidget.cpp)

qt_add_executable(Battery MANUAL_FINALIZATION ${PROJECT_SOURCES})
set_target_properties(Battery PROPERTIES MACOSX_BUNDLE TRUE WIN32_EXECUTABLE TRUE)
target_link_libraries(Battery PRIVATE Qt6::Widgets)
qt_finalize_executable(Battery)

2.RUN和配置Ninja

不设置Ninja也可以,用默认生成器Generator。

1.在.vscode文件夹下的settings.json添加

1
2
3
4
5
6
7
8
9
{
"cmake.configureEnvironment": {
"CMAKE_MAKE_PROGRAM": "C:\\Qt\\Tools\\Ninja\\ninja.exe"
},
"cmake.generator": "Ninja",
"cmake.environment": {
"PATH": "C:\\Qt\\6.6.2\\msvc2019_64\\bin;${env:PATH};"
}
}

没有此文件夹或者文件就新建。

备注

  1. VScode需要安装相关cmake和c++插件(略)。

  2. 建议安装clangd,要开启CMAKE_EXPORT_COMPILE_COMMANDS,生成compile_commands.json,仔细看文档备注。

     1. Note This option is implemented only by Makefile Generators and Ninja Generators. It is ignored on other generators.
     2. This option currently does not work well in combination with the UNITY_BUILD target property or the CMAKE_UNITY_BUILD variable.