Graphics導入


河原林研究室 >> EcoBe!世界一への道 >> Graphicsコンパイル

  • ここではRoboCup? Mixed Reality Leagueで使用するGraphicsの導入方法を記述する。

インストール

  • まずはGraphicsのインストール方法について記す
    • Graphicsは以下のコマンドを実行することでインストールできる。
      • コマンドはGraphicsをインストールしたいディレクトリの中で実行する。
$ cvs -d:pserver:anonymous@pv-league.cvs.sourceforge.net:/cvsroot/pv-league login

※このときパスワードを要求されるが、何も入力せずそのままEnterキーを押す。

$ cvs -z3 -d:pserver:anonymous@pv-league.cvs.sourceforge.net:/cvsroot/pv-league co -P Graphics
  • cvsコマンドが無い場合はCVSを参照
  • これでインストール完了。

eclipseでコンパイル

  • 次にeclipseでコンパイルを行う。
    • eclipseのコンパイル方法はインストールしたGraphicsディレクトリ内のInstall.htmlを参考にする(以下で日本語で説明するが。。)。

コンパイル環境の実装

  • まずはコンパイル環境に必要なもののインストール方法を記す。
  • eclipseを使用するためにはJava環境が必要。Javaが入って無い場合は端末で以下のコマンドを実行してインストールする。
    $ sudo apt-get install sun-java6-jre
  • C++プログラムをコンパイルするためには GCC C++ compiler が必要なので端末で以下のコマンドを実行してインストールする。
    $ sudo apt-get install g++
  • Graphicsを動かすには以下のライブラリが必要。
    FreeImage	(for loading images)
    FreeType	(for displaying text)
    GLUT	(for creating windows)
    GNU Common C++	(for networking)
    OpenAL	(for sound)
    zLib	(for extracting archives)
    • 端末で以下のコマンドを実行してインストールする。
      $ sudo apt-get install zlib1g zlib1g-dev libfreetype6 libfreetype6-dev libglut3 libglut3-dev 
      $ sudo apt-get install libalut0 libalut-dev libcommoncpp2-1.6-0 libcommoncpp2-dev libfreeimage3 libfreeimage-dev

コンパイル

  • 次にeclipseでのコンパイルを行う。
  • まずeclipseを起動する。
  • eclipseのディレクトリまで端末で移動して以下のコマンドを実行。(GUIを用いて場所→ホーム・フォルダ→eclipseのあるフォルダまで移動し、直接eclipseを実行してもよい)
    $ ./eclipse
  • workspaceは適当に作ればOK(基本そのままでOK?)
  • 起動したらWorkbench(左のほうにProject Explorerというタブがある画面)に移動する。(すでに何かのプロジェクトがworkspaceに入ってたら普通にWorkbench画面で起動すると思う)
  • workbench画面に移動したらプロジェクトを作成する。
  • File→New→C++ Projectをクリックし、開いた画面で Project name をつける。本研究では GraphicsKoblenz? とした。(この名前でなくてもできるみたいだが(たぶん)が、この名前が実行ファイル名になり、この名前のほうがいいらしい。)
  • Use default locationのチェックを外し、インストールしたGraphicsのディレクトリを指定する。(※ホームディレクトリの下に直接Graphicsをインストール下場合、/home/ホームディレクトリ/Graphics となる)
  • Project typeはExecutableを使用。ToolchainはLinux GCCを使用。
  • それぞれ選んだらNextを押してDebugとReleaseにそれぞれチェックがついていることを確認してFinish。(※このとき前のプロジェクトの設定を上書きするなどのメッセージが出ることがあるがOKを押せばよい)
  • eclipse画面の左側のProject Explorerタブにプロジェクトができる。
  • プロジェクトの横の三角をクリックして中に data や trunk といったフォルダがあれば成功。無い場合は上の Use default location でのディレクトリの設定が間違っている可能性があるのでもう一度作り直す(※プロジェクトを右クリックしてDeleteを押すと表示されるウィンドウは下の Do not delete contents を選択。上を選ぶと Use default location で設定したディレクトリの中にあるものがすべて消えてしまうので注意)。
  • プロジェクトを作成できたらプロジェクトを右クリック→Propertiesで左側のC/C++ Buildの左の三角をクリックすると出てくる(最初から出てる場合もある)Settingsを開く。
  • Tool settingsタブ→GCC C++ Compiler→Directoriesを開いてAdd(右側の+のついた紙アイコン)を選択し、表示されたウインドウに以下を入力してOK
    /usr/include/freetype2
  • 次に同じくTool settingsタブのGCC C++ Linker→Librariesを開いて上のLibrariesのAdd(Library search pathに加えるとコンパイルは通らない)に以下を1つづつ入力してOK
    pthread
    glut
    ccgnu2
    freeimage
    freetype
    alut
  • それぞれAddできたらPropeties画面のOKを押す。
  • 次にプロジェクトをProject→Build Allでビルドする。
  • ビルドすると下のPloblemsタブで ‘atof’ was not declared in this scope や ‘atoi’ was not declared in this scope などのエラーが表示される(警告は無視)と思うが、そのエラーはエラーメッセージをダブルクリックして開いたプログラムファイル(プロジェクト名/trunk/src/tools/config/Config.cpp)の4行目の #include <sstream> の下に #include <stdlib.h> を追加記述する。
  • もう一度ビルドすると次は ‘stable_sort’ was not declared in this scope というエラーが表示される(警告は無視)と思うが、そのエラーはエラーメッセージをダブルクリックして開いたプログラムファイル(プロジェクト名/trunk/src/GraphicsServer?.cpp)の18行目の #include <sys/time.h> の下に #include <algorithm> を追加記述する。
  • これでコンパイルは完了
  • 実行ファイルはGraphics内のDebugファイルにある。