簡単!Visual C++ 2008 EEを使った自作ODE0.11.1プログラムのビルド法

ode-0.11.1に合わせてVisual C++ 2008EEの設定も必要なのでこの記事に追加しました2009-6-16).

自分で作成したODEを使ったプログラムをVisual C++ 2008 EEでビルドする簡単な方法を説明します.この方法は簡単にするためにcドライブのodeがインストールされたフォルダ内の指定箇所にファイルを置かなければなりません.

  • 準 備:Visual C++ 2008 EEの設定
    • ツール(T)→オプション(O)を選択し,VC++ディレクトリのインクルードファイルを以下のように追加する.
      • C:\ode-0.11.1\include vc1
    • VC++ディレクトリのライブラリファイルを以下のように追加する.
      • C:\ode-0.11.1\lib\DebugDoubleLib  vc2
  • 自作プログラムのビルド法
    1. 作業用フォルダの作成:まず,c:\ode-0.11.1の下にmyprogというフォルダを作ってください.これからは,その中に自分が作るプログラム毎にフォルダを作成していきます.ここでは,templateVCというmyprogの中に作成してください.
      vcpp0
    2. ダウンロードと解凍templatevc090614.zipをダウンロードして、作業フォルダに展開する。この例では次のようになる。
      C:\ode-0.11.1\myprog\templateVC
      vcpp1
    3. ファイル名の変更:上で作成したtemplateVCの中にはテンプレート用のプロジェクトファイルtemplate.vcprojがあります.自分で作成したソースファイルをhello.cppとします.プロジェクトファイルをソースファイル名と同じにするとわかりやすいのでtemplate.vcprojをhello.vcprojに変更する。
    4. Visual C++の起動とプロジェクト名の変更:ファイル名hello.vcprojをダブルクリックしてVisual C++を開く。ソリューションエクスプローラーの中のフォルダ名がtemplateになっているので、カーソールを当て右マウスボタンをクリックして「名前の変更(M)」を選択し、helloに名前を変更する。
      vcpp2
    5. 新しいファイルの追加
      • 「ソースファイル」にカーソールを当て、右マウスボタンをクリックして、「追加(D)」→「既存の項目(G)」を選択する。vcpp3
      • 「既存項目の追加」ウインドウが開くのでhello.cppを選択し、「追加(A)」ボタンをクリックする。
        vcpp4
    6. ビルド:「helloのビルド(U)」を選択しビルドする。ソリューションファイルhello.slnを保存するか聞かれるので「保存(S)」をクリックする。 成功すると実行ファイルhello.exeができる。
      vcpp5
      vcpp6
    7. 実行:hello.exeをダブルクリックして実行する。
      vcpp7

    なお,この方法は相対パスを使っているため自分で作成したファイルの置く場所を変更できません.必ず,c:\ode-0.11.1\myprogの中に好きな名前フォルダ(英文字半角)を作り,その中にテンプレートとなるプロジェクトファイルtemplate.vcprojと自分で作成したソースファイルを置いてください.

でむ

26 Comments
  1. ODEの解説がされている本やサイトが見つからないのでかなり助かっています。ありがとうございます。
    こんな初歩的なミスをするのは私だけかも知れませんが、
    インクルードディレクトリとライブラリディレクトリに追加する所を、インクルードディレクトリに両方追加してしまい、ode_doubled.libが見つかりません。というエラーでハマってしまったので報告しておきます。

  2. demuさん
    いつもお世話になっています。
    私も2010-06-01 に sunlight 様が質問している状態に陥り、原因を調べましたところ
    『VC++ディレクトリにインクルード、ライブラリ両ファイルを追加する際に
    C:¥ode-0.11.1¥include
    並びに
    C:¥ode-0.11.1¥lib¥DebugDoubleLi
    をコピーアンドペーストで入力した場合、参照で追加した場合と\の文字が若干違った形になる』
    というものであるようでした。
    詳細な原因までは分からないのですが、一先ご報告をと思った次第であります。
    なお、参照で両ファイルを追加した場合は問題なく通過できました。

    • Yukikazeさん,

      円マーク(\)を表示させる方法に問題がありました.
      ブログソフトのバージョンを最新版に変更し,該当部分を変更したので,解決したと思います.
      コメントありがとうございました.

      でむ

  3. ファイル ‘ode_doubled.lib’ を開くことができません。というエラーが表示されました。
    開けない理由として挙げられるものになにが考えられるでしょうか。
    ※demo_basketは開くことができました。

    • demu様

      上記の件自己解決いたしました。

      自作ファイルプロパティの「追加するライブラリディレクトリ」に
      C:\ode-0.11.1\lib\DebugDoubleLibと入力したところエラーなしで行けました。
      ありがとうございました。

      -sunlight-

  4. include ファイルを開けません。’ode/ode.h’: No such file or directoryというエラーがでてしまいます。
    何が問題でしょうか

    • shenさん、

      インクルードファイルの設定がおかしいと思われます。上の説明どおりにやればできるはずですが...

      すみませんが、頂いた情報だけではわかりかねます。

      でむ

  5. サンプルプログラムは”debugLib”でビルドしてるようなので、自作プログラムも”debugLib”に設定変更してビルドしなおしたら、コンパイルエラーを起こして”dsDrawSphereD’ : 1 番目の引数を ‘const dReal *’ から ‘const double []’ に変換できません。”っていうエラーメッセージを吐きました。しかし、サンプルプログラムをそのままコンパイルしたら通ってしまうんですがどういうことなんでしょうか?

  6. サンプルプログラムのhello.cppの”texturepath.h”は何のために読み込んでいるんですか?

  7. 私もベルンさんのように
    fatal error C1083: include ファイルを開けません。’ode/ode.h’: No such file or directory というエラーがでてしまいます。
    インクルードファイルとライブラリファイルを一番上に設定しましたがそれでもエラーがでてしまいます。何が問題なのでしょうか

  8. 標準で入っているんなら普通に動くはずですよね。でも自分の環境では動きません。ちなみに自分の環境は
    OS:Vista Home Premium
    ビルド:Visual C++ 2008 EE
    ODE:ode-0.11.1
    です。

  9. コンパイルには成功したんですが実行すると”could not load accelerators”と言って来てエラーを吐いたんですが”accelerators”とは何でしょうか?何が原因なのでしょうか?

  10. 完全に上記のとおり設定を進めたのですが、
    fatal error C1083: include ファイルを開けません。’ode/ode.h’: No such file or directory
    というエラーがでます。解決方法がわかる方教えてください。

    OS:Vista Business
    ビルド:Visual C++ 2008 EE
    ODE:ode-0.11.1

  11. 「簡単!Visual C++ 2008 EEを使った自作ODE0.11.1プログラムのビルド法」で
    次のようなエラーがでます。環境はWINDOWS XP,VC++2008EE、ODE0.11.1です。

    1>LINK : fatal error LNK1104: ファイル ‘ode_doubled.lib’ を開くことができません。

    ‘ode_doubled.lib’ は ODE0.11.1 のどこにあるのでしょうか。

  12. たぁ@さん,

    コメントありがとうございます.

    サンプルプログラムのビルドはできのでしょうか?クリーンして再ビルドしてみてください.

    また,monobot.cppはhello.cppの間違いです.ご指摘ありがとうございます.

    でむ@グラーツ

  13. サンプルプログラムを入れて動かそうとしたのですが、
    error PRJ0002 : エラーの結果 1 が ‘C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe’ より返されました。
    とエラーが出てしまいました。

    それと上にmonobot.cppを選択すると書いてありますが、
    画像にはhello.cppしかありません。

    hello.cppとmonobot.cpp両方追加するという意味でしょうか??

コメントを残す

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