プログラムにfloatを使用しない場合は「__fltused」乗算定義されており、リリースは同じ問題リンカ:私は完全な出力は、この(一つだけのエラー)である
SDL2.lib(SDL_stdlib.obj) : error LNK2005: __fltused already defined in LIBCMTD.lib(fltused.obj)`
に遭遇していないようだのビルド
私は/ MTdと静的ライブラリとしてSDL2.libを再コンパイルしました。それが私のシステム上でそのライブラリの唯一のライブラリであることを保証しました。
それを取得奇妙かかわら:
もちろん、理想的ではないのですint main(int argc, char * argv[]) {
return 0; // will not link
}
int main(int argc, char * argv[]) {
float flt = 0.0f; // gets around optimization
return int(flt); // will link
}
、どのような根本的な問題は、ここで次のようになります。私のプログラムの任意の場所で浮動小数点演算を置くが、それは問題なくリンクすることができますか?
これは、複数のバージョンのCランタイムライブラリにリンクしていることを示す記号です。あなたは/ MTdを使ってSDL2.libを再コンパイルしたと言った。あなたのアプリケーションはどのようにコンパイルされていますか?/MTdでコンパイルする必要があります。 –
@CodyGray - aye、SDL2と私の実行可能ファイルは両方とも/ MTdでデバッグ用、/ MTはリリース用で、私はトリプルチェックしているので、これが最も一般的な理由だと思われます –
これは本当に唯一のことです。 CRTは '__fltused'シンボルを定義します。異なるバージョンのランタイムライブラリでコンパイルされた可能性のある他のLIBファイルを*リンクしていますか? –