编译开源软件kaidan+qt for visual studio 2015踩的坑

本文详细记录了在Visual Studio 2015环境下编译Kaidan(一个基于XMPP协议的IM软件)及其Qt依赖时遇到的问题及解决过程。主要涉及CMake配置、第三方库(如ECM、Krigami2、Qt、qxmpp)的依赖问题,特别是qxmpp的pkg_search_module和find_package的使用,以及Qt Quick Controls模块未找到的错误。最终通过调整CMakeLists.txt、添加依赖库路径、解决编译错误和QXMPP_EXPORT宏问题,成功编译并运行Kaidan。
摘要由CSDN通过智能技术生成

编译开源软件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会提示错误。搞不懂。

参考地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值