llvmを使用してXcode4.2でリリースビルドを機能させようとすると、奇妙な問題が発生します。リリーススキームのすべての最適化設定をオフにしました。リリースビルドがデバッグビルドのすべての設定と一致していることがわかる限りです。これに関係なく、物理ライブラリであるBox2Dの一部の構造を操作すると、次の問題が発生しますが、問題が特にそれと関係があるかどうかはわかりません。
b2CircleShape* circleShape = new b2CircleShape();
circleShape->m_p.Set(0,0);
circleShape->m_radius = m_radius;
b2FixtureDef fixture;
fixture.shape = circleShape;
fixture.density = m_density;
m_fixtureDefs.push_back(fixture); // std::vector
b2FixtureDef fix2 = fixture;
b2FixtureDef fix3 = m_fixtureDefs[0] // EXC_BAD_ACCESS
m_fixturesへのアクセスのすべてのインスタンスを削除しても、問題は発生しません。開発スキームで実行してもエラーは発生しません。誰かが私を正しい方向に向けてエラーを探すことができれば、私は本当に、本当に混乱しています。
編集:
もっと面白いもの
for (vector<b2FixtureDef>::iterator i = m_fixtureDefs.begin() ; i != m_fixtureDefs.end(); ++i)
{
}
これは永遠にループしているように見え、私は非常に混乱しています。構造m_fixturesDefに何らかの問題があるように見えますが、奇妙な破損が発生しているのはなぜこの特定の変数でのみ発生しているのかわかりません。