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

vscode安装插件

在这里插入图片描述
安装c++的扩展包,包含了vscode提供的c++代码提示,调试运行,cmake tool工具.

快速开始创建一个cmake

可以使用cmke tool拓展工具来创建.
在这里插入图片描述
可以使用这个来创建,会生成最简单的三部分的CMakeLists.txt

cmake_minimum_required(VERSION 4.2.0)
project(TestCmake VERSION 0.1.0 LANGUAGES C CXX)
add_executable(TestCmake  main.cpp)

选择对应的编译器就可以编译了.
在这里插入图片描述

一个简单的cmake模板

#设置最低版本号
cmake_minimum_required(VERSION 4.2.0)

#设置项目名称
project(TestCmake VERSION 0.1.0 LANGUAGES C CXX)

#设置C++标准
set(CMAKE_CXX_STANDARD 20)
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?pivots=shell-powershell)

vcpkg中的库很多都是国外的仓库,所以一般下载都要梯子不然会很慢.

梯子要设置代理环境不然很慢或者失败.

powershell

PS F:\Z_library\vcpkg> $env:http_proxy="http://127.0.0.1:7890"
PS F:\Z_library\vcpkg> $env:https_proxy="http://127.0.0.1:7890"
PS F:\Z_library\vcpkg> $env:HTTP_PROXY="http://127.0.0.1:7890"
PS F:\Z_library\vcpkg> $env:HTTPS_PROXY="http://127.0.0.1:7890"
PS F:\Z_library\vcpkg> .\vcpkg.exe install fmt
Computing installation plan...
The following packages will be built and installed:
    fmt:x64-windows@12.2.0
Detecting compiler hash for triplet x64-windows...
-- Using %HTTP(S)_PROXY% in environment variables.
A suitable version of powershell-core was not found (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.zip

cmd

F:\Z_library\vcpkg>set HTTP_PROXY=http://127.0.0.1:7890
F:\Z_library\vcpkg>set HTTPS_PROXY=http://127.0.0.1:7890

F:\Z_library\vcpkg>vcpkg.exe install fmt
Computing installation plan...
The following packages will be built and installed:
    fmt:x64-windows@12.2.0
Detecting compiler hash for triplet x64-windows...
-- Using %HTTP(S)_PROXY% in environment variables.
A suitable version of powershell-core was not found (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.zip
Successfully downloaded PowerShell-7.6.2-win-x64.zip

vscode


问题:

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的安装路径.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值