编译开源软件kaidan+qt for visual studio 2015踩的坑
Kaidan是我浏览xmpp官方网站的时候发现的一个开源软件,xmpp官网关于客户端的介绍有如下截图
kandan是基于xmpp协议的IM开源软件客户端,从界面上看起来还不错,之前做过im开发,一个机灵就想下载来看看。其官方地址为:https://git.kaidan.im/kaidan/kaidan/
从其官网来看,没有windows的build教程啊,但其基于CMakelists.txt,可以跨平台编译。加之我对qt不是很熟,借此工程试着搭建vs+qt环境,知道估计会遇到大坑,还是抱着学习和试一试的心态搞起来了。
拿到工程源代码后,就直接用cmake-gui.exe跃跃欲试了,我用的编译环境vs2015。直接configure,configure出错,正如预想,会提示需要依赖第三方库。
提示案例如下,我一个一个的下载源码,安装好,并添加第三方的库目录依赖。
CMake Error at CMakeLists.txt:2 (find_package):
Could not find a package configuration file provided by "ECM" (requested
version 5.40.0) with any of the following names:
ECMConfig.cmake
ecm-config.cmake
Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
to a directory containing one of the above files. If "ECM" provides a
separate development package or SDK, be sure it has been installed.
其中ECM、Krigami2和Qt的依赖解决的很顺利,因为其Cmake规则是基于find_package函数来做的。当然,Qt下载要比较久哈,之前有一篇文章介绍过。
但qxmpp就没这么简单咯。他的编译错误提示是这样的。
CMake Error at I:/installer/cmake-3.12.4-win32-x86/share/cmake-3.12/Modules/FindPkgConfig.cmake:659 (message):
None of the required 'qxmpp>=0.9' found
Call Stack (most recent call first):
CMakeLists.txt:46 (pkg_search_module)
这个我查了很多资料,大概花了我3个小时,差点放弃用cmake-gui.exe改用mingw环境来搞了,网上很少有关于windows的解决方法,据说是要依赖pkg-config.exe啊,我本地也有mingw的环境,也配了pkg-config.exe,还是不行,也不知道有啥预定义参数能给它配置地址的。
网上解答说windows环境尽量不用pkg_search_module来配,用find_package更好,我也尝试用find_package来依赖qxmpp,但qxmpp会提示错误。搞不懂。
参考地址: