原文出处:
以前折腾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环境.