ページ 11

Box2Dで円描画がされません

Posted: 2015年12月16日(水) 14:30
by 塩塩塩
またまたBox2D関連の質問をさせてもらいます。

Box2DとDxLibの混合化が出来、いざ円を描画しよう!と思い、色々と調べたのですが、円が描画されません。
一応、コードを書いておきます。

//動的ボディの定義
b2BodyDef bodyDef3;
bodyDef3.type = b2_staticBody;
bodyDef3.position.Set(100.0f,100.0f);
b2Body *body3 = world.CreateBody(&bodyDef3);

//円の定義
b2CircleShape Circle;
Circle.m_radius = 20.0f;

//フィクスチャーを定義
b2FixtureDef fixtureDef3;
fixtureDef3.shape = &Circle;
fixtureDef3.density = 1.0f; // 密度
fixtureDef3.friction = 1.0f; // 摩擦

//フィクスチャーを作成
body3->CreateFixture(&fixtureDef3);


ネットで調べて、作ったのですけども、多分これでいけてるような気がするんですけども、円が描画されません。
ただし、描画は四角形で、当たり判定等が円になっています。

自分が考えた原因としては
警告 10 warning LNK4088: /FORCE オプションによってイメージが生成されています。イメージは動作しない可能性があります。

ビルドした際に出てくる、この一文だと思うのですが、どうにも解決方法が分かりません。
詳しい方、教えていただけませんか?

Re: Box2Dで円描画がされません

Posted: 2015年12月16日(水) 14:33
by 塩塩塩
Box2DとDxLibをインクルードした際

エラー 3 error LNK2005: _floor は既に LIBCMTD.lib(_floor_pentium4_.obj) で定義されています。
エラー 4 error LNK2005: _malloc は既に LIBCMTD.lib(dbgmalloc.obj) で定義されています。
エラー 5 error LNK2005: _free は既に LIBCMTD.lib(dbgfree.obj) で定義されています。
エラー 6 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) は既に LIBCMTD.lib(typinfo.obj) で定義されています。
エラー 7 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) は既に LIBCMTD.lib(typinfo.obj) で定義されています。
エラー 9 error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。


このようなエラーが出たため、/FORCE:MULTIPLE というのを、リンカーのコマンドラインに追加しています。
このFORCEを使わない解決策を検索したのですが、自分では理解できませんでした。そちらも、教えていただけますと幸いです。