跳至内容

SwisTrack/开发者/设置开发环境/Linux

来自维基教科书,开放世界的开放书籍

先决条件

[编辑 | 编辑源代码]

您需要以下程序和库

以下库是可选的,只有在您想使用相应的相机时才需要

  • Basler Pylon 驱动程序
  • Firewire 相机驱动程序

Ubuntu 12.04 及更高版本

[编辑 | 编辑源代码]

安装 Subversion

 sudo apt-get install subversion

安装 wxWidgets

 sudo apt-get install libwxgtk3.0-dev

安装 OpenCV2

sudo apt-get install libopencv-dev

签出 svn 仓库的 trunk

svn checkout svn://svn.code.sf.net/p/swistrack/code/trunk

编译

cd trunk
make

运行

cd SwisTrackEnvironment
./SwisTrack 

Ubuntu 8.04

[编辑 | 编辑源代码]

在 Ubuntu 8.04 上,安装以下软件包应该足够了

  • libwxgtk2.8-dev (wxWidgets)
  • libhighgui-dev (OpenCV)
  • libcvaux-dev (OpenCV)

使用Synaptic 包管理器或在终端中输入

sudo apt-get install libwxgtk2.8-dev
sudo apt-get install libhighgui-dev libcvaux-dev

来安装这些软件包。

其他发行版

[编辑 | 编辑源代码]

如果您的发行版没有提供软件包,您可以手动编译并安装这些库。

手动安装 OpenCV

[编辑 | 编辑源代码]

下载 OpenCV 1.0 源代码 [ http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/1.0/ ] 并编译安装。

tar xfz opencv-1.0.0.tar.gz
cd opencv-1.0.0
./configure --prefix=/usr
make
sudo make install

有关详细的安装说明,请查看 INSTALL 文件。

请注意,当前的 SwisTrack Makefile 预计 OpenCV 将安装在 /usr 前缀下。如果将它安装在其他位置,请不要忘记在 Makefile 中相应地修改 INCL_DIRS 行。

在较新的 Ubuntu 发行版中安装 OpenCV 1.0 时,您可能会遇到以下问题

1) 错误消息

../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression

要修复它,请将 cxmisc.h 中的第 133 行从 #elif 更改为 #else。

2) 错误消息

../../../otherlibs/highgui/.libs/libhighgui.so: undefined reference to `cvCaptureFromCAM_V4L(int)'

要修复它,请在 cvconfig.h 中的第 24 行之后添加 #define HAVE_CAMV4L。

3) 错误消息

cvcap_v4l.cpp:208:28: fatal error: linux/videodev.h: No such file or directory 

要修复它,请安装 libv4l-dev 并使用以下命令链接到它

sudo apt-get install libv4l-dev
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

手动安装 wxWidgets

[编辑 | 编辑源代码]

下载 wxWidgets 2.8.8 源代码(wxGTK 或 wxAll)[ http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.8/ ] 并编译安装。

tar xfz wxWidgets-2.8.8.tar.gz
cd wxWidgets-2.8.8
./configure
make
sudo make install

您可以随意更改此处的前缀,因为 SwisTrack 使用“wx-config”来定位 wxWidgets。

安装可选库

[编辑 | 编辑源代码]

如果您有 FireWire 相机,请安装 1394camera 驱动程序。

安装 OpenCV 遗留包

[编辑 | 编辑源代码]

根据系统中安装的 opencv 版本,您可能还需要安装 OpenCV 遗留包。在这种情况下,运行以下命令

sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev libcv2.3 libcvaux2.3 libhighgui2.3

库路径

[编辑 | 编辑源代码]

根据您的系统配置,SwisTrack 会抱怨缺少库。您可能会看到类似这样的错误消息

./SwisTrack: error while loading shared libraries: libwx_gtk2_aui-2.8.so.0: cannot open shared object file: No suchfile or directory

在这种情况下,您需要设置您的 LD_LIBRARY_PATH 变量以指向这些库安装所在的目录。如果您使用的是 bash shell,则可以通过以下方式实现

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

在 Ubuntu 10.10 上,需要以下操作:export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH 并在 cvaux 库上创建一个动态链接:sudo ln -s libcvaux.so.2.1 libcvaux.so 在 /usr/lib/ 中

华夏公益教科书