原文出处:https://my.oschina.net/mummy108/blog/1439179
以前折腾cmake的时候各种问题,然后发现 用vscode 好像全部都挺正常的
仔细研究了一下 用cygwin的环境没办法使用windows的路径, 使用MingW可以满足基本所有的需求,
于是不再考虑cygwin的使用方式 使用mingw中间的gcc g++ gdb mingw-make使用windows原生的make,基本可以满足使用要求.
目前还没有解决使用交叉编译工具导致的一些问题
更新之后的tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"taskName": "make_cmake_vscode",
"command": "make",
// "args":[
// //"-c",
// ],
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceRoot}/build"
}
}
]
}
更新之后的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/build/generate",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
顺便放上来CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
PROJECT(generate)
set(CMake_C_COMPILER g++)
set(SRC_LIST
"main.c"
"bin2hex.c")
message("building now")
SET(CMAKE_BUILD_TYPE "Debug")
add_executable(${PROJECT_NAME} ${SRC_LIST})
cmake 的用法应该还是没做好的状态...
添加全局配置之后可以在vscode中调用windows自带的ubuntu bash
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
使用bash的话 也可以完成要求,但是使用vscode的话,暂时不考虑完全切到bash中去,
目前直接使用powershell,可以完全搞定gdb环境.