Ubuntu下安装cmake,配置ITK(已测试可执行)

curses库

在安装cmake之前应该先安装一下curses库。如果系统中有curses库的话,cmake将生成一个可执行文件ccmake,它是一个基于文本程序的终端,有点类似windows GUI。

sudo apt-get install libncurses5-dev

备注:若无curses库,则不会生成ccmake。后续程序中可能会出现需要安装 ccmake。虽然安装了ccmake,

sudo apt-get install cmake-curses-gui

还是无法使用。原因是无curses库。

下载cmake安装包
https://cmake.org/download/
这里选择 cmake-3.7.0.tar.gz,

# 解压cmake-3.7.0.tar.gz
tar zxvf cmake-3.7.0.tar.gz
cd cmake-3.7.0
sudo su
./bootstrap && make && make install

验证安装成功

cmake --version
ccmake --version

配置 ITK

下载 ITK,https://itk.org/ITK/resources/software.html
选择 InsightToolkit-4.10.1.tar.gz (hosted at Sourceforge)

cd /home/bids
mkdir ITK
mkdir ITK/build      # 此目录作为ITK编译目标

解压 InsightToolkit-4.10.1.tar.gz 到/home/bids/ITK

tar zxvf InsightToolkit-4.10.1.tar.gz

使用CMake配置 ITK

cd 到 ITK 编译目标
cd /home/bids/ITK/build
ccmake ..//InsightToolkit-4.10.1

然后根据 CMake 下面的提示,按 c 键,进行 配置
接着出现类似 windows 下的界面
同理将 BUILD_EXAMPLES,BUILD_TESTING设置为 OFF,方法为使用箭头选择,然后 Enter 进行设置,然后按键 c 配置,成功后按键 g 生成 ITK 编译文件
最后输入

make  #编译 ITK

测试阶段

cd /home/bids/ITK
mkdir test       //用于编译 ITK 代码,为了目录结构清晰
mkdir test/src   //存放源代码
mkdir test/bin    //示例编译目标
mkdir test/src/HelloWorld
mkdir test/bin/HelloWorld

到 ITK 源代码中拷贝 /Examples/Installation/HelloWorld.CXX 以及 CMakelists.txt 到 test/src/HelloWorld 中

cp /home/bids/ITK/InsightToolkit-4.10.1/Examples/Installation /home/bids/ITK/test/src/HelloWorld
cd test/bin/HelloWOrld
ccmake /home/bids/ITK/test/src/HelloWorld

这时,可能提示找不到 ITK_DIR,ITK_DIR_NOTFOUND,使用箭头选择此项,然后按 Enter 编辑,输入 build(ITK编译目标的路径) 路径,我的为

/home/bids/ITK/build

然后 c 进行配置,然后 g 生成编译文件
最后 #make

make          //生成 HelloWorld 可执行文件
./HelloWrold  //执行
ITK Hello World !  //显示的结果

References

http://www.jb51.cc/article/p-hrcbuweb-et.html
http://blog.csdn.net/zhangcunli/article/details/4587354
https://itk.org/ITK/resources/software.html

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...