项目中遇到一个GitHub上的程序,该程序需要ITK软件包,所以下载编译了CMake和ITK。
编译环境:
1.win32位;
2.VS2010;
3.CMake3.6
编译工具Cmake:
到CMake官网:https://cmake.org/download/,下载任何一版本的CMake(最好是新一点的),我下载的是CMake3.6.3。
下载:Binary distributions中的msi文件和zip文件,64位和32位任选。
启动msi文件进行安装即可。
ITK编译步骤:
1.下载ITK包:
到官网:https://itk.org/ITK/resources/software.html,下载
(1)InsightToolkit-4.12.0.zip (hosted at Sourceforge)(zip文件适合windows系统)
(2)InsightData-4.12.0.zip (hosted at Sourceforge)
我需要的程序用到ITK4.10,所以我下载了4.10版本的。
在任意位置新建一个文件夹用于存放解压后的两个文件夹,这里我选取E:\lxy\ITK,文件夹中包含这两个解压后的文件夹;
2.新建编译用的文件夹:
在当前目录新建一个文件夹InsightToolkit-4.10.1_Bin,用于存放CMake编译产生的文件:
3.开始CMake第一次编译:
在开始菜单或者桌面打开CMake-gui程序,
where is the source code选取文件夹InsightToolkit-4.10.1;
where to build the binaries选择新建的InsightToolkit-4.10.1_Bin。
点击下方的configure按钮,选择visual studio 10 2010,开始编译
接下来几分钟等待它第一次编译....
4.Cmake第二次编译
第一次编译结束后会出现很多红色选项(记得勾选Advanced),如图
将BUILD TESTING和BUILD EXAMPLES至off
BUILD_SHARED_LIBS可选可不选(生成动态链接库dll)
CMAKE_INSTALL_PREFIX的目录改为E:\lxy\ITK(与toolkit和data一个目录下),再次点击configure进行第二次编译
编译完成还有红色继续编译,直到全部变成灰色编译结束,点击生成Generate按钮。
5.VS2010编译
到InsightToolkit-4.10.1_Bin文件夹中寻找ITK.sln文件,用vs2010打开,文件好大的,打开要一两分钟吧
然后在菜单栏中点击生成-生成解决方案,等全部编译成功后
重要的一步!为了这个我折腾了一上午!一定要再点击INSTALL仅用于此项目重新生成,这样在文件夹中才会出现include和lib文件夹!
我没有编译INSTALL,文件夹中不会出现include和lib文件夹!
很多网上的编译教程都没有指明INSTALL要重新编译,我按照他们的步骤来就出现不了,不知道他们怎么成功的,可能是我前面步骤出了问题?
如果能出现include和lib文件夹的就不需要编译啦~
等待编译完成,文件夹中出现了这三个令人期盼的文件夹
6.设置路径
新建一个空项目,在属性管理器的Debug|win32中双击Microsoft.Cpp.Win32.user
VC++目录-包含目录添加:E:\lxy\ITK\include
库目录添加:E:\lxy\ITK\lib
链接器-输入-附加依赖项中添加lib文件夹中的所有lib
完成!
7.测试
用如下代码测试
#include"itkImage.h"
#include<iostream>
int main(){
typedef itk::Image< unsigned short, 3>ImageType;
ImageType::Pointer image= ImageType::New();
int i;
std::cout<<"ITK hello world !"<<std::endl;
std::cin>>i;
return 0;
}