Install opengazer with Debian 6.0.6-amd64

写之前不能不再吐槽下自己反复造轮子。。

新买了一个台式机,就想着把自己的东西都干净的转移过来,每次都配置安装些必须的软件花好长时间, 这次还是安装opengazer,比意向中安装要顺利了许多。。难道是换了64位机?

  • 准备环境

因为安装后面要用到vxl,而vxl会生成libmpeg2-4的文件,所以一开始要卸掉libmpeg2-4

1
2
sudo apt-get remove libmpeg2-4
sudo apt-get remove libmpeg2-4-dev

之后安装些必备的包

1
sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev libgtkmm-2.4-dev libcairomm-1.0-dev libboost-dev
  • 下载vxl-1.14.0

官网上写的是1.8,一些博文也是建议使用低版本的vxl,但此次安装使用的1.14,也安装通过了。

vxl的安装比较另类点,要自己手工配置build文件夹,我的如下(vxl-src:/home/ikumo/vxl-1.14.0)

1
2
3
mkdir /home/ikumo/vxl-1.14-build
cd /home/ikumo/vxl-1.14-build
ccmake ../vxl-1.14.0

ccmake需要cmake-gui,如果没有的话也可以用cmake -i, 选项里enable SHARED_LIBS,配置通过后generate,之后make, sudo make install就可以了。

以往每次make的时候报许多错,头疼的要命,这次只有一两个不疼不痒,没记住什么错根本就。。

  • 下载opengazer

下载解压git initial,编辑它的Makefile文件,将VXLDIR改成vxl路径,如/home/ikumo/vxl-1.14-build/,连接必须的动态库到/usr/local/include 里面去

1
2
3
4
5
cd /usr/local/include 
sudo ln -s vxl/core/vnl/ .
sudo ln -s vxl/core/vgl/ .
sudo ln -s vxl/core/ .
sudo ln -s vxl/vcl/ .

之后进入opengazer执行make,一般中间会蹦出一个exception的错误,根据提示找到源代码里的文件将其改成std::exception就可以编译通过。

  • 运行

make通过生成了可以执行的opengazer,执行起来却报错:无法找到shared object, 一般是因为环境变量没有VXL LIB的信息,export一下即可

1
2
export VXLDIR=/usr/local/include/vxl 
export LD_LIBRARY_PATH=$VXLDIR/lib:$LD_LIBRARY_PATH

到这里 应该就没什么大问题了

赞赏是最好的支持与鼓励!