使用 cmake 编写相关的工程时,工程有时会使用 vcpkg 添加的第三方库,比如 zip 库
查看一些案例后,我发现有些回答不太准确,遂记录下
现在,我们需要在工程中使用 zip_open 函数执行压缩命令,这个函数是 zip.h 里的,所以我们先要添加 zip 库
打开 cmd,输入 vcpkg install libzip:x86-windows-static
如果提示找不到 vcpkg 的,可以导航到【编辑系统环境变量】,【环境变量】->【系统变量】-> [PATH],添加 vcpkg.exe 路径
安装完 linzip 后,注意命令行窗口输出的提示,这个很重要
接着在 CMakeLists.txt 中添加 libizp
project(my_project) find_package(libzip CONFIG REQUIRED) ... add_executable(my_project ${SOURCES} ${HEADERS} ${RESOURCE_FILES}) target_link_libraries(my_project PRIVATE libzip::zip)
上面注明了先后顺序,比如 find_package 必须在 project 的后面设置,target_link_libraries 在 add_executable 后面设置
然后,在 x86 Native Tools Command Prompt for VS 2019 窗口导航到你的项目目录,如果你需要 x64,选择 x64 Native Tools 即可
为什么不直接使用 cmd 窗口输入呢?因为 cmd 窗口没有集成 msbuild 一些编译环境
最后,输入下面的 cmake 命令即可
cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\Users\xxx\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static msbuild my_project.sln /p:Configuration=Release
小结:新手常常误认为直接添加 zip 库就行
比如说这样,
find_package(zip)
这样在 cmake 时,会提示找不到 zip.config,包括一些搜索结果建议你在 target_link_directories 里添加 zip_INCLUDE_DIRS 之类的头文件路径,也是不准确的
就如我上面所说,只添加两行就行,其余交给 cmake 时指定的 tool chain
标签:cmake,zip,windows,project,添加,vcpkg,my From: https://www.cnblogs.com/strive-sun/p/17867908.html