vscode下C++开发环境搭建
-
安装gcc,clang
sudo apt update sudo apt install gcc sudo apt install clang sudo apt install gcc-10 ...
-
gcc,clang版本切换
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 --slave /usr/bin/g++ g++ /usr/bin/g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 2 --slave /usr/bin/g++ g++ /usr/bin/g++-10 update-alternatives --config gcc ...
-
vscode 安装cmake-tools
crtl+shift+p: cmake:quick start
配置相应的CMakeLists.txt(可以在vscode选择编译器,或者选择由cmake推定)
gcc的CMakeLists.txt参考如下:
cmake_minimum_required(VERSION 3.0.0) project(test1 VERSION 0.1.0) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") add_executable(test1 main.cpp) set(CPACK_PROJECT_NAME ${PROJECT_NAME}) set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
clang的CMakeLists.txt参考如下:
cmake_minimum_required(VERSION 3.2.0) project(test2 VERSION 0.1.0) find_package(LLVM REQUIRED CONFIG) message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STARDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") include_directories(${LLVM_INCLUDE_DIRS}) add_definitions(${LLVM_DEFINITIONS}) add_executable(test2 main.cpp) # that we wish to use llvm_map_components_to_libnames(llvm_libs support core irreader) # Link against LLVM libraries target_link_libraries(test2 ${llvm_libs})
-
使用cmake插件的build功能生成相应的可执行文件,使用vscode的调试功能生成launch.json与tasks.json,删除tasks.json,删除launch.json这一行
"preLaunchTask": "C/C++: g++-10 build active file",
并配置launch.json
"program": "${workspaceFolder}/build/leedcode-cpp",
接下来就可正常使用vscode的运行与调试功能了。
-
settings.json与c_cpp_properties.json
settings.json如下:
{ "vsicons.presets.angular": true, "editor.fontSize": 16, "debug.console.fontSize": 14, "terminal.integrated.fontSize": 14, "window.zoomLevel":1.2, }
c_cpp_properties.json如下:
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/clang", "cStandard": "c11", "cppStandard": "c++20", "intelliSenseMode": "clang-x64", "configurationProvider": "ms-vscode.cmake-tools" } ], "version": 4 }
待解决问题,调试时如何直观的查看,标准库容器变量的值如stack、vector、list…?