Edition編)ode2008.04.14注意:この記事はODE0.9用です。最新のODE0.11.1のインストールはこのページをご覧ください。C++に対応しました。C++に対応したことになります。EditionでODEを使う方法を紹介します。作成にはmommaさんのページを参考にさせて頂きご了解を得ました。mommaさんありがとうございます。C++のエキスパートではないので、内容に不備な点があればご指摘頂ければハッピーです。ここでは以下の方法を全くのビギナーを対象に図を多用してわかりやすく説明します。EditionのインストールMicrosoftのこのページの指示に従ってダウンロード・インストールしてください。Engineのページ飛ぶと以下の画面になります。Engineのバナーをクリックします。ダウンロードが始まりす。この例では簡単にするためにデスクトップにダウンロードしましょう。ODEのインストール解凍ソフトの準備(持っていない方のみ)ode-src-0.9.zipはzipフォーマットで圧縮されていますのでzipを解凍できるソフトウェアをインストールしてください.ここでは,Lhaplusという圧縮・解凍ソフトを使っています.GoogleでLhaplusを検索するとダウンロード先を簡単に見つけることができます.解凍と移動デスクトップにあるode-src-0.9.zipをダブルクリックすると、ode-0.9というフォルダーがデスクトップに生成されます。2005用のファイルを使う。c:¥ode-0.9¥build¥vs2005にあるode.slnをダブルクリックする。変換ウィザードが開くので「次へ(N)>」をクリックする。バックアップ作成の選択画面になるので、画面のまま「次へ(N)>」をクリックする。変換準備完了になるので、「完了(F)」をクリックする。変換の完了になるので「閉じる」をクリックする。C++の「ツール(T)」→「オプション(O)」を選択。「VC++ディレクトリ」を選択する。注意:上の文字列をカット&ペーストで貼り付けると失敗します。上の文字列は表示の関係で全角文字が含まれています。半角英数文字で入力しなければなりません。「OK」をクリックする。注意:上の文字列をカット&ペーストで貼り付けると失敗します。上の文字列は表示の関係で全角文字が含まれています。半角英数文字で入力しなければなりません。ode¥include¥config.hを選択しダブルクリックすると下の図となり、右側のウインドウにconfig.hの内容が表示される。ODEは例え計算精度が要求されない場合でも、倍精度で使った方が内部エラーなども発生しづらくなるので倍精度でビルドする。以下のように30行目をコメントアウトし、31行目のコメントを外す。dDOUBLE「編集(E)」のすぐ下にあるフロッピーディスクのアイコンをクリックしconfig.hを保存する。「ビルド(B)」→「ソリューションのビルド(B)」を選択し、ライブラリを生成する。私のデスクトップでは2分弱でビルドが終わりました。c:¥ode-0.9フォルダにbinフォルダを作る。c:¥ode-0.9¥binにコピーする。library)は実行時に動的にリンクされるライブラリで、Linuxでは共有ライブラリに相当します。c:¥ode-0.9¥lib¥DebugDLLの中のode.libとdrawstuff.libをc:¥ode-0.9¥libにコピーする。上のl.の作業とは、拡張子とコピー場所が違うので注意してください。ODEのインストールは終わりです。XP)ここでは、先ほどコピーしたdllの場所をシステムに教える設定をします。コントロールパネルを開き、「パフォーマンスとメンテナンス」を選択すると以下の画面になる。下側に「システム」があるので選択する。「システムのプロパティ」の画面になるので、「詳細設定」のタブを選択し、「環境変数(N)」をクリックする。「環境変数」ウインドウが開くので、「システム環境変数(S)」のPathを編集する。「編集(I)」をクリックする。「システム変数の編集」ウインドウが開くので、「変数値(V)」の一番最後に以下を追加する。C:¥ode-0.9¥binの前にある記号はセミコロン;です。セミコロンによって区切っています。;C:¥ode-0.9¥bin注意:上の文字列をカット&ペーストで貼り付けると失敗します。上の文字列は表示の関係で全角文字が含まれています。半角英数文字で入力しなければなりません。Vista)基本的にXPと同じ。違いは、コントロールパネルの中の「システムとメンテナンス」の項目を選ぶ点だけです。C++標準のフォルダとして説明します。2008¥ProjectsdrawstuffフォルダのコピーC:¥ode-0.9¥drawstuffフォルダを丸ごと上のProjectsフォルダの中にコピーします。これは、ODE本のサンプルプログラムでは空や地面の模様を表すテクスチャファイルの場所を、実行ファイルから相対位置で指定しているためです。絶対パスで指定すれば必要ありませんが、互換性に欠けてしまうので相対パスで指定しています。プロジェクトファイルを使わない方法ここでは、自分でODEを使ったプログラムを作成する方法を紹介しましょう。ソースコードを一から作成するのは大変なので、ODE本のサンプルプログラムpro1-1を使います。このプログラムはボールが自由落下するだけのとても簡単なプログラムです。ここをクリックしてpro1-1をダウンロードしてください。ダウンロードしたzipファイルを作業用フォルダの中で解凍します。解凍後はこの例では以下のようになります。C++では使いませんので削除してかまいません。C++の「ファイル(F)」→「新規作成(N)」→「プロジェクト(P)」を選択。プロジェクトの種類はWin32コンソールアプリケーションを選ぶ。ここでは「プロジェクト名(N)」を「pro1-1」とします。標準では「ソリューション名(M)」はプロジェクト名と同じになるので、あえて入力する必要はありません。ウィザードへようこそ」の画面が開く、「次へ>」をクリックする。今回はODE本のサンプルプログラムをそのまま使うのでこのようにします。自分で一から作成する場合でも、「空のプロジェクト」を選択しないとstdafx.hという謎のヘッダファイルをインクリードしたり、main関数の代わりに_tmain関数を含んだファイルが自動されます。今まで習ってきた標準C++言語の常識が全く通用しないMicorsoftの世界に陥ってしまうので教育用途としてはお勧めできません。「ソースファイル」→「追加(D)」→「既存の項目(G)」を選択し、ODE本のサンプルプログラムhello.cppを選ぶ。「プロジェクト(P)」→「pro1-1のプロパティ(P)」を選択する。以下のようにライブラリを記入する。drawstuff.libビルドする前に、drawstuffフォルダが作業フォルダProjectsの中にコピーされているかどうか確認する。ない場合は、C:¥ode-バージョン番号¥drawstuffフォルダを丸ごと上のProjectsフォルダの中にコピーする。「ビルド(B)」→「pro1-1のビルド(U)」を選択する。pro1-1.exeが作成される。pro1-1.exeをダブルクリックして実行する。成功すると以下のウインドウが開く。既存のプロジェクトファイルを利用する方法ここでは、上で作成したプロジェクトファイルを利用する方法を説明します。pro1-3.zipをここからダウンロードして、作業フォルダに展開する。この例では次のようになる。2008¥Projects¥pro1-3上で作成したプロジェクトファイルpro1-1.vcprojをpro1-3フォルダの中にコピーする。プロジェクトファイルの名前をpro1-3.vcprojに変更する。pro1-1.vcprojがない場合はここをクリックしてダウンロードする。ソリューションエクスプローラーの中のフォルダ名がpro1-1になっているので、カーソールを当て右マウスボタンをクリックして「名前の変更(M)」を選択し、pro1-3に名前を変更する。pro1-3の「ソースファイル」のhello.cppにカーソールを当て、右マウスボタンをクリックして、「削除(V)」を選択しhello.cppを削除する。「ソースファイル」にカーソールを当て、右マウスボタンをクリックして、「追加(D)」→「既存の項目(G)」を選択する。「既存項目の追加」ウインドウが開くのでmonoBot.cppを選択し、「追加(A)」ボタンをクリックする。「pro1-3のビルド(U)」を選択する。すると、すぐにソリューションファイルpro1-3.slnを保存するよう聞かれるので「保存(S)」をクリックする。成功するとDebugフォルダが作成され、その中にpro1-3.exeができる。ダブルクリックして実行する。これで、本当のおしまい。プログラム1.1用以外のプロジェクトファイルもRoboCupジャパンオープンが終わったら時間を見つけて作ります。Engine)講座の第11回目です。今までの講座でODEの基本を簡単に説明しましたが、基本的なことで忘れていたことを今回説明します。それは、剛体の姿勢を設定する方法です。Windows)最新版ODE0.11.1のインストールはここです。0.8がリリースされました。問題なくソースからmakeできました。ジョイントが使えます。これは、直動式(スライダー)ジョイントとヒンジジ...odeODE講座7:ジョイント(関節)金沢もすっかり寒くなり寒鰤(かんぶり:注1)と地酒(注2)が旨い季節になってまいりました。Engine)講座の7回目です。御指摘どうもありがとうございます。この記事はODE0.9以下用ですので、ODE0.10.0以上は以下の記事をご覧ください。ODE0.10.0からビルドシステムが変更になり、単精度インストールと倍精度インストールではライブラリ名が変更になりました。PMお世話になっております。項目にて、リンクするライブラリの名前が間違っている可能性があります。ファイルはありませんとコンパイル時に怒られてしまいました。そこで直接ファイルから名前をコピーしてきたところうまくいきました。自分のように書いてある通りにしか出来ないくらい初心者だとつまずいてしまうかもしれないと思いここに書かせていただきました。確認の程、よろしくお願いします。解決してなによりです。私も分かりかねていたので安心しました。AM悩める初心者さん、もう同じ間違いを別の初心者さんが起こさないように、記事の該当部分を訂正しました。御投稿ありがとうございました。AMでむさん、hogeさんご返信ありがとう御座いました。本題の間違えたところですが、hogeさんの言う通りコピー内容を間違えたのが原因でした。似たような名前だったので、勘違いしてコピーしてしまったようです。これからはこういったミスを減らしていきたいです。恐れ入りますが、どこを間違ったか教えて頂けますか?他の多くの初心者さんも間違える可能性があります。そのフィードバックを受けてこの記事を改定し、よりわかりやすくしたいと思います。AMでむさん、ご返信ありがとうございました。無事解決することができました。間、このサイトを通してODEとロボットシミュレーションの勉強をしたいと考えておりますので、無知な者ですが今後ともよろしくお願いします。C++2008を使って進めていきたいと思います。AM>>初心者さんひょっとして、C:¥ode-0.9¥lib¥に「.lib」ファイルでは無く、「.dll」ファイルをコピーしてはいませんか?直前にbinフォルダへ、同名の.dllファイルをコピーしているので勘違いしてそのまま同様に貼り付けている可能性が考えられます。違ってたらすいません。AM初心者さん、ode.libがないか?場所の指定を間違っている可能性があります。以下の2点を確認してください。ode-0.9のインストール先がCドライブのすぐ下になっているか?なっていたら、C:¥ode-0.9¥lib¥ode.libがあるはずです。「OK」をクリックする。注意:上の文字列をカット&ペーストで貼り付けると失敗します。上の文字列は表示の関係で全角文字が含まれています。-また、説明のわかりにくい箇所がお有なら遠慮なく指摘してください。開くことができません。失敗とでてきてしまいexeファイルがでてきません。思い当たる節がなく手詰まり状態です。何か良い解決策がありましたら教えてもらえませんでしょうか。回答有難うございます。むさんの回答にもありますように、このページをコピー&ペーストして入力していました。お騒がせしてすみません。おかげでプログラムを無事実行することができました。AMロウさん、ご質問ありがとうございます。C++でのインストール法を書くきっかけができました。ご質問はode.dllの場所がシステムにはわからないことが原因と考えられます。このページの環境変数の設定にある以下の設定は間違いないでしょうか?¥が全角になっていませんか?このページをコピー&ペーストして入力するとうまくいかないかもしれません。半角を確認してもう一度入力してみてください。「システム変数の編集」ウインドウが開くので、「変数値(V)」の一番最後に以下を追加する。C:¥ode-0.9¥binの前にある記号はセミコロン;です。セミコロンによって区切っています。PMでむさん、たびたびすみません。報告し忘れたことがあったので、報告したいと思います。一回目のビルドはエラーが出なく、実行すると前に書いたエラーが出てきました。起動中にエラーが発生しました。》というエラーが出てきて、実行するとこれも前に書いたエラーが出てきました。よろしければ二回目のビルドに出てきたエラーメッセージの解決法も教えていただけたらと思います。これからも精進していきたいと思っておりますので、なにとぞよろしくお願いします。PMでむさん、こんにちは大変わかりやすい講座有難うございます。見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。》というエラーメッセージが出ました。ためしにインストールし直したのですが、だめでした。すればよいのでしょうか?教えてください><因みに私は2005でやっています。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。(3)タイトルとURLをコピーしました。