欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Hugin win10 vs2015编译过程详解

程序员文章站 2022-05-20 17:44:30
最近公司在做全景拼接的项目,需要编译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 即可,如最后一个图所示,再次编译通过了,最后祝大家都可以顺利编译通过。

Hugin win10 vs2015编译过程详解

Hugin win10 vs2015编译过程详解

 

本文地址:https://blog.csdn.net/qq_36207660/article/details/107391680

相关标签: Hugin c++