ODEの実行法
まず、ODEのソースコードを取ってくる。
ode-0.6-src.zip
を解凍する。
フォルダをc:\に移動する。
つまり、c:\ode-0.6とする。
環境変数に追加する。マイコンピュータを右クリックし「プロパティ」の「詳細設定」の環境変数のincludeの最後にC:\ode-0.6\includeを追加する。
VisualC++がインストールされている場合には、このようにする。
C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include;C:\ode-0.6\include |
環境変数のlibには、C:\ode-0.6\buildを追加する。同様に
C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib;C:\ode-0.6\build |
一度、ライブラリを再構築する。
この場合には、統合環境を使う。まず、
C:\ode-0.6\build\vs6のode.dswを実行する。
ビルドのバッチビルドを選択し、ビルドを行う。
次に、コマンドウィンドウを起動し、
cd c:\ode-0.6\ode\test |
に移動し、
cl test_buggy.cpp |
ただし、これだけではエラーが出るので、
C:\ode-0.6\ode\test>cl test_buggy.cpp ode.lib drawstuff.lib winmm.lib user32.lib opengl32.lib glaux.lib glu32.lib gdi32.lib |
これは、以下のコマンドをプログラム中に追加したのと同じである。
#pragma comment(lib,"ode.lib") |
しかし、これでもエラーがでる。この理由は、共有ライブラリを使用しているため、リンク時にライブラリを指定する必要があるからである。ライブラリの選択オプションは、
MSVCRT.lib 共有DLLでMFCを使用 Release /MD |
となっている。デフォルトでは、/MDオプションをつければ、ワーニングが出るがコンパイルできるようになる。
C:\ode-0.6\ode\test>cl test_buggy.cpp ode.lib drawstuff.lib winmm.lib user32.lib opengl32.lib glaux.lib glu32.lib gdi32.lib /MD |
しかし、これでもode.dllがないためエラーが出てしまい実行できない。そこで、ode.dllを
c:\ode-0.6\ode\testのフォルダにコピーをしておく。
また、
C:\ode-0.6\drawstuff\src
の中の、resources.rcとresource.hを
c:\ode-0.6\ode\testのフォルダにコピーし、
test_buggy.cppの中の
fn.path_to_textures = "../../drawstuff/textures";
を
#include "resources.h"
fn.path_to_textures = "c:/ode-0.6/drawstuff/textures";
に変更
C:\ode-0.6\ode\test>rc resources.rc |
とすることで、コンパイルができる。
まとめると、コンパイルしたいファイルに、
#pragma comment(lib,"ode.lib") |
を追加し、
fn.path_to_textures = "c:/ode-0.6/drawstuff/textures"; |
と変更、
それにコンパイルするときは、
cl test_buggy.cpp /MD resources.res |
とすればよい。