Hugin win10 vs2015编译过程详解

   日期:2020-07-18     浏览:88    评论:0    
核心提示:最近公司在做全景拼接的项目,需要编译Hugin工程,Hugin一个比较强大的开源图像拼接软件,最早在2009年左右就开始发布了,不过感谢作者的开源精神,其直到现在还在持续更新中(详戳http://hugin.sourceforge.net/)。然而公司使用的vs2015版,与官方文档有不少差异,因此不得不自己动手编译了,因为在编译方面是个新手,也没有人教,在编译初期走了很多弯路,为了避免其他人走我的老路,下面是我具体的编译过程以及踩过的坑。 参考文档主要是为:https:...

        最近公司在做全景拼接的项目,需要编译Hugin工程,Hugin一个比较强大的开源图像拼接软件,最早在2009年左右就开始发布了,不过感谢作者的开源精神,其直到现在还在持续更新中(详戳 http://hugin.sourceforge.net/)。公司一直使用vs2015进行软件开发,,官方文档最新的教程是基于vs2013,因此不得不自己动手编译。之前本人在编译方面是个新手,编译Hugin初期走了很多弯路,踩过很多坑,甚至一度想放弃,好在自己坚持了下来,为了避免其他人走我的老路,详细介绍一下编译这个工程需要注意的地方。

        参考文档为:https://blog.csdn.net/qq_33552519/article/details/103809917, 这篇文档写的很好,步骤很清晰,作者对我编译过程中提供了很多帮助,很长感谢作者。

        编译流程和上面的文档里写的大致是一致的,但有一些不同,我主要记录了不同的地方:

        1. wxWidgets -3.1.3 ,有尝试wxWidgets -3.1.2,但最后编译会有一些链接错误,可以是某些版本的问题,推荐最新版。

        2. 编译Hugin时如果wxWidgets_ROOT_DIR 没有显示出来,最好手动添加路径,如果wxWidgets_ROOT_DIR 为空,系统默认下面这个地址,其中SOURCE_BASE_DIR是Hugin的地址,如果在编译的时候出现找不到 wx/xxx.h的错误就是这个原因了,当然你可以手动把 wxWidgets -3.1.3的include路径加进去。

SET(wxWidgets_ROOT_DIR ${SOURCE_BASE_DIR}/wxWidgets-${wxWidgets_ROOT_SUFFIX})

        3. 编译Hugin时最好把HUGIN_SHARED设置为1 (重要),如果使用默认HUGIN_SHARED = 0,在cmake配置hugin的时候,zlib,png,tiff,zib,expat会使用wx版本, 本人在这折腾了大量时间仍然编译不过,强烈推荐大家使用自己编译的版本。

        4. 生成Hugin会报错(下图所示):找不到wxTreeItemAttr 的定义,这个问题困扰了大半天的时间,各种google没有结果,经过别人的知道得知应该是版本兼容导致的。具体原因是 wxTreeItemAttr 继承于"wx/itemattr.h"文件的wxItemAttr这个类,我们需要在treelistctrl.cpp 添加#include<wx/itemattr.h>, 并让 wxTreeItemAttr 共有继承 wxItemAttr 即可,如最后一个图所示,再次编译通过了,最后祝大家都可以顺利编译通过。

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服