今天在Linux下安装opencv,许久没折腾Linux,都忘光了。
碰到好多问题,记录如下。
系统是Ubuntu 9.04,其他版本Linux应该差不多。装在vmware 虚拟机下,主机为windows xp。
我需要修改opencv源码,所以采用源码编译安装的方式,不用apt-get安装。
1. 首先是把Linux折腾上网,采用NAT共享上网方式。
NAT设置,共享上网。
vmware 虚拟机VM -> Settings里Network Adapter,选择NAT。
记下 vmware菜单edit->virtual network editor 里VMNET8 的gateway地址(注:此地址和windows的vmnet8的ip地址不是一个地址)。
/etc/resolv.conf 修改nameserver为网关地址。
/etc/network/interfaces 里修改ip为VMNET8的网段,网关填网关地址。
sudo /etc/init.d/networking restart
就可以上网了。
有可能需要设置的地方:windows里本地连接或无线网络连接,右键属性,高级,internet 连接共享,允许其他网络用户通过此计算机……
2. 下载cmake Linux版本 cmake-2.8.1-Linux-i386.tar.gz
解压缩在/home/user/cmake下,修改环境变量:
在用户主目录下修改/home/user/.bashrc, 增加一行
PATH:=$(PATH):/home/user/cmake/bin
3. 编译opencv
下载opencv-2.1.0,解压在/home/user/Opencv-2.1.0/下,
在此目录下新建子目录build,即编译所需临时文件所在位置。
在build目录下,运行如下命令(或建一脚本然后运行):
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_Python_SUPPORT=ON ..
.. 表示上一级目录
这时makefile已经生成了,可以看到显示默认安装目录是/usr/local
接下来:
make
sudo make install
在/etc/ld.so.conf 文件里加上一行/usr/local/lib,
运行命令 sudo ldconfig,
编译完毕。