一个简单的cmake模板
cpp
#设置最低版本号
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::库名字)
vscode 设置cmke让编译通过
MSBuild 在访问 %USERPROFILE%\AppData\Local\Temp 时出现了编码错误,是由于中文路径中导致的问题。
解决方案:
.vscode/settings.json(项目级 VS Code 配置)新建一个配置文件。
cpp
{
"cmake.environment": {
"TMP": "${workspaceFolder}/.tmp",
"TEMP": "${workspaceFolder}/.tmp"
}
}