Skip to content

Instantly share code, notes, and snippets.

@ljsabc
Created January 7, 2014 07:28

Revisions

  1. ljsabc created this gist Jan 7, 2014.
    132 changes: 132 additions & 0 deletions sciviInstGuide .md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,132 @@
    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的提示修改即可。