質問

いくと考えていいのか、それともリンクは静的ライブラリ(.lib)にコンパイルされてVS2005プログラム編とVS2008年?図書館と私のプログラムC++で記述されてい.このプログラムではWindowsモバイル6プロにすることができます。

このように仕事がないので結ぶ。しかし、プログラムクラッシュ時の起動が不思議なことは起こる内部リンク先の図書館があります。E.g.libに復帰できるベクトルの文字サイズの大きな負の番号です。

つながるプログラムが作られVS2005年.

しかしもっと不思議な問題は、利用時のみリリース構成のために作れます。ンパイルするときに使用のデバッグの設定に問題はないが発生します。

役に立ちましたか?

解決

VS2005、VS2008用の異なるSTLになります。時にはVS2005コードのベクタを返します、オブジェクトは、メモリレイアウトが違うVS2008ます。そうした理由は、壊れた値が返されます。

経験則として、ブランチは、常にコンパイルすべてC++のモジュールのプロジェクトと同じコンパイラおよびすべての設定/#を定義する。

一つの#defineの原因となる類似の行動のSECURE_SCL#defineのVS2008.二つのモジュール作成の異なる設定を正確に問題が#で定義さSECURE_SCLを紹介しますメンバ変数を様々なC++図書館。

他のヒント

な誤りへのリンクはより古い図書館について説明していただけまで驚かないんだけを見ても奇ます。カップルgirepository形式:

  • 両方のファイルを使用 同じバージョン同じ実行時の図書館?
  • でおります。エグゼアプリ"見る"を同一ヘッダーファイル。LIBした。こ_WIN32_WINNT等 マクロは 宣言を適切に.

ときは言うまでもない。LIBいう真の静的ライブラリ(mylib.lib)またはインポート図書館のためのDLL(mylib.lib->mylib.dll)?

そのコンパイル/リンク設定のごVS2008実行す。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top