vscode+cmake+vcpkg使用和问题记录

发布时间:2026/7/15 4:56:44
vscode+cmake+vcpkg使用和问题记录 vscode安装插件安装c的扩展包,包含了vscode提供的c代码提示,调试运行,cmake tool工具.快速开始创建一个cmake可以使用cmke tool拓展工具来创建.可以使用这个来创建,会生成最简单的三部分的CMakeLists.txtcmake_minimum_required(VERSION4.2.0)project(TestCmake VERSION0.1.0LANGUAGES C CXX)add_executable(TestCmake main.cpp)选择对应的编译器就可以编译了.一个简单的cmake模板#设置最低版本号cmake_minimum_required(VERSION4.2.0)#设置项目名称project(TestCmake VERSION0.1.0LANGUAGES C CXX)#设置C标准set(CMAKE_CXX_STANDARD20)set(CMAKE_CXX_STANDARD_REQUIRED ON)#设置编译器选项if(MSVC)add_compile_options(/W4)else()add_compile_options(-Wall-Wextra-Wpedantic)endif()#设置编译输出目录set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG${CMAKE_SOURCE_DIR}/bin/debug)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE${CMAKE_SOURCE_DIR}/bin/release)#设置目标名称set(TARGET ${PROJECT_NAME}-${CMAKE_SYSTEM_NAME})#创建可执行文件链接源代码add_executable(${TARGET}main.cpp)#设置不同平台if(WIN32)include_directories()#导入include路径link_directories()#链接库路径elseif(APPLE)include_directories()link_directories()elseif(UNIX)include_directories()link_directories()endif()#指定连接库target_link_directories(${TARGET}库名字 库名字)#查找OpenCV REQUIRED表示必须找到find_package(OpenCV REQUIRED)target_link_directories(${TARGET}OpenCV::库名字)vckpg包管理器下载和安装没有什么好说的可以参考官方的[链接](https://learn.microsoft.com/zh-cn/vcpkg/get_started/get-started-vscode?pivotsshell-powershell)vcpkg中的库很多都是国外的仓库,所以一般下载都要梯子不然会很慢.梯子要设置代理环境不然很慢或者失败.powershellPS F:\Z_library\vcpkg$env:http_proxyhttp://127.0.0.1:7890PS F:\Z_library\vcpkg$env:https_proxyhttp://127.0.0.1:7890PS F:\Z_library\vcpkg$env:HTTP_PROXYhttp://127.0.0.1:7890PS F:\Z_library\vcpkg$env:HTTPS_PROXYhttp://127.0.0.1:7890PS F:\Z_library\vcpkg.\vcpkg.exe install fmt Computing installation plan...The following packages will be builtandinstalled:fmt:x64-windows12.2.0Detecting compiler hashfortriplet x64-windows...--Using%HTTP(S)_PROXY%in environment variables.A suitable version of powershell-core wasnotfound(required v7.6.2).Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.6.2/PowerShell-7.6.2-win-x64.zip - PowerShell-7.6.2-win-x64.zipcmdF:\Z_library\vcpkgset HTTP_PROXYhttp://127.0.0.1:7890F:\Z_library\vcpkgset HTTPS_PROXYhttp://127.0.0.1:7890F:\Z_library\vcpkgvcpkg.exe install fmt Computing installation plan...The following packages will be builtandinstalled:fmt:x64-windows12.2.0Detecting compiler hashfortriplet x64-windows...--Using%HTTP(S)_PROXY%in environment variables.A suitable version of powershell-core wasnotfound(required v7.6.2).Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.6.2/PowerShell-7.6.2-win-x64.zip - PowerShell-7.6.2-win-x64.zipSuccessfully downloaded PowerShell-7.6.2-win-x64.zipvscode问题:1.vscode 设置cmke让编译通过MSBuild 在访问 %USERPROFILE%\AppData\Local\Temp 时出现了编码错误是由于中文路径中导致的问题。解决方案.vscode/settings.json项目级 VS Code 配置新建一个配置文件。{cmake.environment:{TMP:${workspaceFolder}/.tmp,TEMP:${workspaceFolder}/.tmp}}2.设置使用Ninja编译链要注意大小写3.设置vcpkg路径,让cmake能找到库路径注意要设置对应环境变量VCPKG_ROOT对应vcpkg的安装路径.