前者是编译Hugin的说明,后者是编译需要的各种开源库的SDK编译说明,要按照第二个网址的内容编译好所有需要的开源库,形成SDK然后再编译Hugin。
boost_1_43_0 boost_1_43_0.7z 因为SDK包中带的1_39_0在后面会因为版本过低不能用,所以要 加个比较新的版本,老的可以删掉
GLIB 需要下载 glib_2.28.8-1_win32.zip和 glib-dev_2.28.8-1_win32.zip
LensFun 这是相机与镜头的数据库,因为厂商在不断发布新相机与镜头,所以建议到 官方下载下 载最新版
make_3.81 http://www.gnu.org/software/make/ 或者直接下载 make-3.81.tar.gz
将
lcms-1.18a.zip解压到中
打开
lcms-1.18ProjectsVC2008lcms.sln
在解决方案配置下拉菜单中选择"release",仅生成lcms
然后在解决方案配置下拉菜单中选择"debug",
仅生成lcms
结果:在
lcms-1.18LibMS中存在生成的库文件
将
freeglut-2.6.0.tar.gz解压到
打开
freeglut-2.6.0VisualStudio2008Staticfreeglut.sln
在解决方案配置下拉菜单中选择"release",仅生成
freeglut
然后在解决方案配置下拉菜单中选择"debug",
仅生成
freeglut
结果:在
freeglut-2.6.0VisualStudio2008StaticDebug和
freeglut- 2.6.0VisualStudio2008StaticRelease中存在生成的库文件
将
enblend-enfuse-3.2.zip
解压到
将文件夹中所有没有扩展名的文件加上".txt'的扩展名
在
enblend-enfuse-3.2中建立文件夹doc,然后随便找两个pdf放进去,分别命名为
enblend.pdf和enfuse.pdf
结果:
enblend-enfuse-3.2存在enblend.exe和enfuse.exe
将boost_1_43_0 解压到
将boost-jam-3.1.18-1-ntx86.zip中的bjam.exe解压到
boost_1_43_0
打开命令提示符,并切换到
boost_1_43_0
例如:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:Dokuments and SettingsGuido>d:
D:>cd usrsrcSDKboost_1_39_0
D:usrsrcSDKboost_1_39_0>
然后执行命令
bjam --with-date_time --with-thread --with-regex --with-filesystem --with-iostreams --with-system --with-signals toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage
编译boost视机器配置不同可能需要较长时间,请耐心等待.
之行结束之后会有类似
...updated 56 targets...
d:usrsrcSDKboost_1_39_0>
的字样,具体的数字可能不同.
结果: boost_1_43_0和下面的子文件夹boost中存在.h文件
boost_1_43_0stagelib中存在编译好的lib文件
在下建立文件夹
wxWidgets-
2.9.4并将
wxWidgets-
2.9.4的内容解压到此文件夹
将
wxWidgets-
2.8.10删除
打开VS的命令行模式(开始->程序->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 命令提示)
在命令行下切换到
wxWidgets-2.9.4buildmsw
例如:
C:Program FilesMicrosoft Visual Studio 9.0VC>d:
D:>cd usrsrcSDKwxWidgets-2.8.10buildmsw
D:usrsrcSDKwxWidgets-2.8.10buildmsw>
然后执行下面的命令:
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static
结果:
在
wxWidgets-2.9.4include和子目录中存在.h的包括文件
在wxWidgets-2.9.4libvc_lib中存在库文件
然后再编译一个小东西,打开wxWidgets-2.9.4utilswxrcwxrc_vc9.vcproj,然后将其编译,会 在vc_mswu中生成wxrc.exe,这个东西先记着,后面会用到.
将libpano下的pano13目录删除,将libpano13-2.9.18.tar.gz解压到此目录并重新命名为pano13
在Windows的系统属性中设置环境变量WXWIDGETS_HOME,并将其赋值为wxWidgets-2.9.4 (注意 要用真实的路径替换)
设置JDK_HOME,赋值为JDK的路径,例如C:ProgramFilesJavajdk1.6.0_13,重新启动使环境变量生效
选择"Debug CMD"并只生成pano13
选择"Release CMD"并生成解决方案
结果:
在
libpanopano13toolsRelease CMD中存在生成的可执行文件
在
libpanopano13存在.h文件
在
libpanopano13Debug CMD和
libpanopano13Release CMD中存在生成的lib文件
将tclap-1.2.0.tar.gz解压到
结果:需要的头文件存在于tclap-1.2.0includetclap
将glib-dev_2.28.8-1_win32.zip解压到,并将文件夹重命名为glib_2.28.8
将glib_2.28.8-1_win32.zip中bin文件夹中的所有dll解压到
glib_2.28.8bin中
结果:
glib_2.28.8bin中存在dll与exe文件
glib_2.28.8lib中存在lib文件
将下载下来的Lensfun包解压到中,并命名为lensfun
打开CMake
点击browse source,选择
lensfun
然后在"Where to build the binaries"后面填
lensfun-build
(注意以上两个要用真实的路径替换)
点Configure,弹出的对话框选择"Visual Studio 9 2008"/"Use default native compilers",然后finish
这时会提示
Could not find glib2,
手动修改GLIB_BASE_DIR项后面的目录名称为
glib_2.28.8
(注意以上要用真实的路径替换,并注意"_"与"-"的区别)
然后再次
Configure,这时应该只有
GLIB2_DLL-NOTFOUND了,手动将其指定到
bin
libglib-2.0- 0.dll
再次
Configure,这时应该没问题了,Generate
打开
lensfun-build
lensfun.sln
选择release,生成解决方案
成功之后再仅生成INSTALL
结果:
lensfunbin中存在exe文件
lensfunlib中存在lib文件
将swigwin-2.0.8.zip解压到中
结果:
swigwin-2.0.8中存在swig.exe
将make-3.81.tar.gz解压到中
打开make-3.81make_msvc_net2003.sln 并确认转换
选择"release"
生成解决方案
将make-3.81Releasemake_msvc.net2003.exe重命名为
make-3.81Releasemake.exe
结果:make-3.81Release 目录下存在make.exe
2.编译
2.1 生成解决方案
这一步的目的是用cmake和hugin源代码生成可以使用VS编译的解决方案
下载 hugin-2012.0.0.tar.bz2,并解压到
修改
hugin-2012.0.0
CMakeModules
FindTIFF.cmake,在26行的
${wxWidgets_ROOT_DIR}/src/tiff下面加上
${wxWidgets_ROOT_DIR}/src/tiff/libtiff,保存退出
打开CMake,
点击browse source,选择
hugin-2012.0.0
然后在"Where to build the binaries"后面填
hugin-build
(注意以上两个要用真实的路径替换)
点Configure,弹出的对话框选择"Visual Studio 9 2008"/"Use default native compilers",然后finish
然后他会提示找不到WxWidgets,把wxWidgets_ROOT_SUFFIX改成2.9.4然后继续Configure
接下来修改Boost_root_suffix,改成_1_43_0,
Configure
如果提示
Boost not found. Bad BOOST_ROOT? On windows, try editing Boost_root_suffix
尝试在系统的环境变量里添加BOOST_ROOT,指向boost_1_43_0
修改GLIB2_BASE_DIR,将最后的文件夹改为
glib_2.28.8,注意
"_"与"-"的区别,configure
在HUGIN_BUILDER项填上自己的名字
,configure
在HUGIN_BUILDDATE项填上编译的日期,并勾选BUILD_HSIBUILD_HUGINSETUP和BUILD_KEYPOINTS,Configure
修改SWIG_EXECUTEABLE,点击后面的值,右边会出带三个点的浏览按钮,点击并手动选择
swigwin- 2.0.8swig.exe
修改MAKENSIS_EXECUTABLE,将其指向NSIS安装文件夹中的
makensis.exe
这时系统会提示
Configuring done,然后点Generate
2.2 编译
打开
hugin-buildhugin.sln
选择"RelWithDebugInfo"
按住CTRL并点选以下项目:
calibrate_lens_gui
hugin
ptbatchergui
nona_gui
hugin_stitch_project
右键菜单里面选属性->连接器->常规,将"启用增量链接"改为"否(/INCREMENTAL:NO)"
然后生成解决方案
全部生成结束之后在解决方案资源管理器里点选INSTALL
然后点生成->生成INSTALL
完成之后会在hugin-buildINSTALLFILESbin里存在全部生成好的可执行文件,然后再中搜索
lensfun.dll
intl.dll
iconv.dll
libglib-2.0-0.dll
并将这四个文件拷贝入
hugin-build
INSTALLFILESbin
此时点击
hugin-build
INSTALLFILESbinhugin.exe应该就可以运行了
如果需要打包安装程序的话找到
INSTALL
HuginSetup.nsi,右键单击选择Compile NSIS Script就 可以了
ps:
如果需要运行调试,需要执行以下步骤:(以主程序项目hugin为例)
1.修改 项目 属性->配置属性->调试->命令 项为
$(SolutionDir)INSTALLFILESbin$(TargetFileName)
2.修改
项目 属性->配置属性->调试->工作目录 项为
$(SolutionDir)INSTALLFILESbin
3.修改 项目 属性->配置属性->生成事件->声称后事件->命令行 为
copy $(TargetPath) $(SolutionDir)INSTALLFILESbin$(TargetFileName)
4.对于某些项目,可能需要提供命令行参数,这些参数填在
属性->配置属性->调试->命令参数 栏中
完成以上步骤之后,就可以运行调试了