二月 14, 2017

在Windows 10中编译libzip

Written by

slam dso依赖libzip,libzip又依赖zlib。zlib本身很好编译通过,但是libzip在通过cmake查找zlib时,规则、文件夹结构很奇怪,费了好大劲才配置好,将libzip编译过去,这里记录一下注意事项。

cmake中内嵌了一些常用模块的查找脚本,zlib就是一个。从官网上下载zlib源码,也是通过cmake指令:cmake -H. -Bbuild -G”Visual Studio 14 2015 Win64″ 生成vs2015的x64解决方案,很容易就编译除了x64的debug和release版本,但是cmake的内嵌缺省FindZlib.cmake查找zlib对目录结构有一定要求。

1、首先,将下载到的源代码放入如下目录

C:/Program Files/zlib-1.2.11

2、然后在libzip的CMakeLists.txt文件中加入:

set(ZLIB_ROOT "C:/Program Files/zlib-1.2.11")

这是设置了cmake的缺省FindZlib.cmake中的ZLIB_ROOT变量,以便libzip在查找依赖项时能用正确的目录去查

3、在C:/Program Files/zlib-1.2.11下新建一个文件夹,lib,然后将刚才编译好的zlib.lib、zilb.dll文件放在lib目录下

因为FindZlib.cmake在ZLIB_ROOT目录下查找到zlib.h文件并获取到版本号后,接着在ZLIB_ROOT/lib目录下查找.lib文件。

这是缺省FindZlib.cmake对zlib目录结构的要求。

我只编译了x64的版本,x86的需要用cmake指令另外生成解决方案:

cmake -H. -Bbuild-win32 -G"Visual Studio 14 2015"

 

Category : 其他

Tags :

发表评论

电子邮件地址不会被公开。

Proudly powered by WordPress and Sweet Tech Theme