Skip to content

Instantly share code, notes, and snippets.

@ljsabc
Created January 7, 2014 07:28
Show Gist options
  • Save ljsabc/8295825 to your computer and use it in GitHub Desktop.
Save ljsabc/8295825 to your computer and use it in GitHub Desktop.

scivi 简单安装指南

理论上讲,scivi依赖下面的包:

OpenKinect    
OpenSceneGraph	
ARToolKit	
vcglib

其中vcglib在scivi的源代码包中已经提供。

有一些硬性依赖必须要首先解决,包括:

freeglut
libXmu
libXi
libusb

这些按照发行版软件包的基本安装方式进行安装即可。下面来看各个组件。

OpenKinect在各个发行版下的安装可以参考:

http://openkinect.org/wiki/Getting_Started

首先build OCG:

./configure
make
sudo make install

要注意的是,默认的安装位置是/usr/local/lib,如果你没有设定LD_LIBRARY_PATH的话,建议你安装到/usr/lib里面,这样需要修改configure为:

cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr $@

然后执行上面的命令即可。

ARToolKit依赖Video4Linux,需要安装libv4l,当然各个发行版都有。安装完之后需要执行:

sudo ln -s /usr/include/libv4l1-videodev.h   /usr/include/linux/videodev.h 

解决V4l的问题,需要在系统中安装一下。最后执行

./configure
make

即可。

上面的步骤执行完之后,scivi的基本依赖就解决了。安装后我的路径大致是这样设置的:

|-- ARToolKit
|   |-- ARToolKit.xcodeproj
|   |-- bin
|   |-- doc
|   |-- examples
|   |-- include
|   |-- lib
|   |-- patterns
|   `-- util
|-- OpenSceneGraph-3.0.1
|   |-- CMakeFiles
|   |-- CMakeModules
|   |-- PlatformSpecifics
|   |-- applications
|   |-- bin
|   |-- doc
|   |-- examples
|   |-- include
|   |-- lib
|   |-- packaging
|   `-- src
`-- scivi
    |-- Applications
    |-- Data
    |-- Interfaces
    |-- Providers
    `-- Utilities

最后我们来解决scivi的依赖:

#参见 http://vr.tu-freiberg.de/scivi/?page_id=25
cd Data/Libraries/
tar xvfz libPoisson.tar.gz
cd libPoisson/
make
cd ..
tar xvfz vcglib.tar.gz

这样基本的编译依赖就解决了。接下来就来编译scivi,首先重命名Personal.mk.example为Personal.mk,然后修改内容为:

#
# personal include directories
# example: -I/path/to/include
#
MY_INCLUDE_PATHS    =    -I Data/Libraries/libPoisson/include \
                         -I Data/Libraries/vcglib \
                         -I ../OpenSceneGraph-3.0.1/include \
                         -I ../ARToolKit/include
#
# personal library directories
# example: -L/path/to/lib
#
MY_LIBRARY_PATHS    =   -L Data/Libraries/libPoisson/lib \
    		-L ../ARToolKit/lib \
			-L ../OpenSceneGraph-3.0.1/lib \
			-L ../freenect/build/lib

其中INCLUDE就是头文件位置,LIBRARY PATH就是编译好的二进制的位置。这些根据你的目录位置来确定,如果目录树和我的一样,这样的配置文件就是有效的。

然后修改Makefile,加上额外的链接参数,Makefile的44行之后改为:

#
# libraries to use
#
LIBS    =       \
                        -losg \
                        -losgViewer \
                        -losgGA \
                        -losgDB \
                        -losgText \
                        -lfreenect \
                        -lAR \
                        -lPoisson \
                        -lpthread \
                        -lusb-1.0

然后执行

make

应该就没有问题了。理论上可能需要进行一些源代码的修改来适应新的gcc版本,不过修改幅度不大,根据gcc的提示修改即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment