CMake构建学习笔记12-libzip库的构建

如果要更方便地压缩/解压缩文件或者文件夹,除了使用基于zlib的minizip库,更推荐使用另一个基于zlib的库libzip,个人认为其接口设计更科学一点,文档也更丰富一点。不过libzip库本身的构建倒是没什么特别的,关键指令如下所示:

shell 复制代码
# 配置CMake  
cmake .. -G "$Generator" -A x64 `
    -DCMAKE_BUILD_TYPE=RelWithDebInfo `
    -DCMAKE_PREFIX_PATH="$InstallDir" `
    -DCMAKE_INSTALL_PREFIX="$InstallDir" `
    -DBUILD_DOC=OFF `
    -DBUILD_EXAMPLES=OFF `
    -DBUILD_REGRESS=OFF `
    -DENABLE_OPENSSL=OFF

# 构建阶段,指定构建类型
cmake --build . --config RelWithDebInfo

# 安装阶段,指定构建类型和安装目标
cmake --build . --config RelWithDebInfo --target install

其中,设置CMAKE_PREFIX_PATH能够保证能够正确找到安装在这么目录下的zlib,而BUILD_DOC、BUILD_EXAMPLES、BUILD_REGRESS和ENABLE_OPENSSL都是笔者认为无关紧要的配置项,故设置为OFF。

相关推荐
报错小能手2 小时前
OpenTenBase学习——集群编译&部署
学习
渣渣灰飞2 小时前
MySQL 系统学习 第二阶段 第四章:DCL(Data Control Language)第二节:权限管理与角色(Role)
数据库·学习·mysql
王老师青少年编程2 小时前
csp信奥赛C++高频考点专项训练:【二分答案】案例2:木材加工
c++·二分答案·csp·高频考点·信奥赛·木材加工
霸道流氓气质3 小时前
Java 工程师 AI 智能体(Agent)完整学习路线
java·人工智能·学习
aaPIXa6223 小时前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
想要入门的程序猿3 小时前
摄影测量学习()
数码相机·学习
worilb3 小时前
Spring Cloud 学习与实践(13):使用 Seata 解决分布式事务问题
分布式·学习·spring cloud
Augustzero3 小时前
`co_await` 按下暂停键之后:从零看懂 C++20 协程
c++·后端
渣渣灰飞3 小时前
MySQL 系统学习 第四阶段:MySQL 高级 第一节:索引(Index)
数据库·学习·mysql
知无不研4 小时前
c语言和c++中的静态关键字
开发语言·c++·静态关键字