ODE0.12のインストール法 (Visual C++ 2010 EE)

odelogo2

ODE0.12のインストール法を説明します.今回は一番ユーザが多いと思われるWindows 7とVisual C++ 2010 Expression Editionを使った場合です.



  • B. ODEのダウンロード
    1. ode-0.12.tar.gzをダウンロードし,デスクトップへ保存する.
    2. 解凍ソフトの準備(持っていない方のみ)
    3. ode-0.12.tar.gzはtarフォーマットで圧縮されていますので解凍できるソフトウェアをインストールしてください.ここでは,私が使っているLhaplusという圧縮・解凍ソフトを使います.GoogleでLhaplusを検索するとダウンロード先を簡単に見つけることができます.
    4. 解凍と移動
      • デスクトップにあるode-0.12.tar.gzをダブルクリックすると、ode-0.12というフォルダーがデスクトップに生成されます。
      • ode-0.12フォルダをCドライブのすぐ下に移動する
        • マウスをode-0.12フォルダーに当て、右マウスボタンをクリック、「切り取り(T)」を選択
        • スタート→(マイ)コンピュータ→ローカルディスク(c)をダブルクリック
        • マウスの右ボタンをクリックし、「貼り付け(P)」を選択
    5. ビルド(ライブラリの作成)
      • ode-0.12ではpremakeコマンドを使ってVisual C++ 2010用のソリューションファイルを作成できます.
      • コマンドプロンプトを起動する.
        スタート→「プログラムとファイルの検索」窓にcmd.exeと打ち込みEnterキーを押しコマンドプロンプトを起動する.
      • 以下のようにコマンドを打ち込む.カットアンドペースト の場合は以下の文字列を使用し,自分で打ち込む場合は2個の-(マイナス)文字がつながって見えるので,下画像を参照して注意深く打ち込んでください.
        •  cd  c:\ode-0.12\build
        •  premake4 --with-demos --with-libccd --only-double --only-static vs2008

          成功するとvs2008というVisual C++2008用のディレクトリが生成される.

      • Visual C++ 2010 Express Editionを起動
      • メニューバーから「ファイル(F)」→「開く(O)」→「プロジェクト/ソリューション(P)」を選択
      •  c:\ode-0.12\build\vs2008\ode.sln

        を選択

      • 「Visual Studio変換ウィザードへようこそ」ウインドウが開く。バックアップが必要ないので「いいえ(O)」にチェックを入れ、「次へ(N)」をクリック。
      • 「変換準備完了」の画面になるので「完了(F)」をクリック。
      • 「変換の完了」の画面になるので「閉じる」をクリック。
      • Visual C++ 2010 Expressのメニューバーから「デバッグ(D)」→「ソリューションのビルド(B)」を選択
      • デモプログラムの実行ファイルは
        • c:\ode-0.12\lib\Debug に生成される.
      • 試しに,demo_basket.exeをダブルクリックして起動すればODEのビルド成功.これで,ODEのインストールは終わりです。

  • C. ODE本サンプルプログラムのビルド
  • ダウンロードカテゴリーからrobosimu******(******は日付)をダウンロードして,
     c:\ode-0.12

    にコピーし,そこに解凍する.解凍に成功すると

    c:\ode-0.12\roboSimu******

    というディレクトリが生成される.ここで******は日付の数字。

    フォルダ名のroboSimu******から******を取り、次のフォルダ名に変更する。 

    c:\ode-0.12\roboSimu

    その中にはsrc, texturesフォルダー,premake.exe, premake.lua, Readme.txt, roboSimu.luaファイルががあり,また,srcフォルダーの中にはODE本のサンプルコードがある.

  • ODEのインストールと同じように,premakeコマンドを使い,ソリューション,プロジェクトファイルを生成する.コマンドプロンプトを起動し,以下のコマンドを実行する.
    • cd c:\ode-0.12\roboSimu
    • premake  --target  vs2008
       <span style="color: #ff0000;"><strong>注:targetの前は-(マイナス)が2個連続.</strong></span>
  • Visual C++ 2010 Express Editionを起動
  • メニューバーから「ファイル(F)」→「開く(O)」→「プロジェクト/ソリューション(P)」を選択
    • c:\ode-0.12\roboSimu\src\roboSimu.sln

      を選択

  • ビルドターゲットをDebugLibとする.
  • 「デバッグ(D)」→「ソリューションのビルド(B)」を選択
  • サンプルプログラムの実行ファイルはc:\ode-0.12\roboSimu\DebugLibに生成される.
  • 試しに,arm1.exeをダブルクリックして起動すれば成功.お疲れ様でした!
8 Comments
  1. demuさん、はじめまして。

    ロボットシミュレータを動かしてみたいとおもったのですが、サンプルプログラム1で”1_1.obj : error LNK2019: 未解決の外部シンボル _dsDrawSphereD が関数 “void __cdecl simLoop(int)” (?simLoop@@YAXH@Z) で参照されました。”というエラーが多数出ています。
    設定しているインクルードファイルはC:\ode-0.12\includeです。
    ライブラリファイルはC:\ode-0.12\lib\Debugです。
    環境はODE-0.12&Windous7&VS2010です

    VS2008とODE0.9では環境変数の変更が書いてあったのですが、VS2010だと関係ないのでしょうか?
    また、VS2008とODE0.9のように.dllファイルをbinフォルダを作って入れようとおもったのですが、.dllファイルがみつかりません。

    変なところがあればご指摘ください。
    よろしくおねがいします。

    • 名無しさん、

      どのウェブサイトページのサンプルプログラム1か教えてください。
      ODE初級講座http://demura.net/tutorialsのサンプルプログラムを本日すべて、ode-0.12とVisual C++ 2010に対応させました。
      ODE本のサンプルプログラム http://demura.net/downloads/robosimu2
      は既に対応済みです。

      よろしくお願いします。

      でむ

      • demuさん
        replyするのが1ヶ月も遅くなってしまいすみません。
        プログラムは出版されている「簡単!実践!ロボットシミュレーション – Open Dynamics Engineによるロボットプログラミング」のサンプルプログラム1です。

        • 追記です。
          初級者講座の更新ありがとうございます。
          プログラムを入れてみたところ、”error LNK2019: 未解決の外部シンボル _dsDrawSphereD が関数 “void __cdecl simLoop(int)” (?simLoop@@YAXH@Z) で参照されました。”はなくなりましたが、新しく”LINK : fatal error LNK1104: ファイル ‘ode_doubled.lib’ を開くことができません”というエラーが出てきました。ビルドしたプログラムはHPにのっている「こんにちは物理世界」です。

          インストール状況として、このページのBとCのdemo_basket.exeとarm1.exeを実行できます。

        • ODEのファイルをさがしてみたのですが、‘ode_doubled.lib’ が作られません。
          oded.libとdrawstuffd.libは作られました。

        • 自分も似たような”oded.dll”がないというエラーに引っかかりましたが、
          以下のリンカー設定にしたら通りました。
          ..\..\lib\DebugDoubleDLL\ode_doubled.lib;..\..\lib\DebugDoubleDLL\drawstuffd.lib;user32.lib;winmm.lib;gdi32.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)

  2.  demuさんはじめまして
    「Avira Free Antivirus」の影響でODEとサンプルプログラムのビルドに失敗したので報告します。

     環境はWindows Vista,Visual C++ 2010 Express Editionで、ode-0.12を「debug」を選択しビルドしたのですが、
    「LINK : fatal error LNK1104: ファイル ‘demo_basket.exe’ を開くことができません。」というエラーが出てexeファイルが作成されませんでした。(すべてのexeファイルが同様でした。ちなみに「Release」を選択するとexeファイルが作成されました。)
     
     また、サンプルプログラムをビルドしてもexeファイルが作成されなかったのですが、このときウイルス対策ソフトの「Avira Free Antivirus」から警告のウィンドウが立ち上がりました。

     そこで「Avira Free Antivirus」の「Realtime Protection」を無効にしてビルドをすると、ODEとサンプルプログラム共にビルドが成功し、exeファイルが作成されました。

    はじめはまるで原因がわからず、ビルドできるまでにかなり時間がかかってしまいました。この失敗が他の方の参考になればと思い投稿しました。

    以上、長々と失礼いたしました。

    • hageさん、

      毎年、講義で100名以上の学生にインストールしていますが、
      このような事象を知らなかったので大変参考になりました。

      ご投稿ありがとうございました。

      でむ

コメントを残す

メールアドレスが公開されることはありません。