文件目錄搭建
在工作區創建三個文件夾:build、include、src,include用來存放頭文件,src用來存放源文件,build是cmake和make的工作區,這樣生成的文件都在build文件夾內,不至於外部結構看着亂糟糟的。
以下是文件目錄的結構
-
workspace
-
.vscode
-
build
-
include
-
src
-
CMakeLists.txt (注意大小寫,這個很嚴格)
-
main.cpp
-
VSCode配置文件
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 啟動",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/main",//這里我cmake最終生成工程的名字為main,如果不同可以更該
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
],
"preLaunchTask": "make build",//選擇任務的名稱
"miDebuggerPath": "/usr/bin/gdb"//gdb的路徑
}
]
}
task.json
{
"version": "2.0.0",
"tasks": [
{
"label": "make build",//編譯的項目名,build 宇launch.json的preLaunchTask對應
"type": "shell",
"command": "cd ./build ;cmake .. ;make",//編譯命令 進入當前文件夾的build,然后cmake,接下來make
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
CMakeLists
還未學習過太多關於CMakeLists的知識,這里寫一個最簡單的。
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
project(HELLO)
add_executable(main main.cpp)
最后生成二進制文件main,與launch的program相對應,如果這里更改二進制文件名稱,那么program那里也需要更改。
