このポストは以前よりはるかに大きくなってしまったので、私はもう一度始めました。アプリケーションは2つの静的変数スコープを持っています
私の問題は、私のC++プロジェクトの一部が自動的に共有ライブラリにコンパイルされているため、残りのコードベースとスタティックスコープを共有しないということです。
私はこれの原因を切り離しましたが、なぜそれが起こるのかまだ分かりません。
私は自分のプロジェクトにサードパーティの共有ライブラリを統合しています。私はプロジェクトにいくつかのクラスも追加する必要があります。
私はライブラリにリンクしてヘッダーのみを含めると、私のプロジェクトはexeファイルを出力し、すべてがpeachyです。
私が追加することを第二:
(CAkFilePackageLowLevelIOBlockingは、私は私のプロジェクトにcppのコードを経由して追加するために必要とされたクラスの1つです)
protected:
CAkFilePackageLowLevelIOBlocking m_LowLevelIO;
私SoundManagerクラスに、そして私が取得、構築だから
1> Generating Code...
1> Creating library D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.lib and object D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.exp
1> VS2010.vcxproj -> D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.exe
、
をはるかに簡単な質問を投稿する:私に言って終わりに、この余分なラインは、そのはに.libとの.expファイルを出力しますライブラリで与えられたタイプのクラスメンバーを追加するだけで、プロジェクトに.libファイルを作成する必要があるのは何ですか?
これは、プラグマのdefや、.libの出力を強制するクラスのどこかに似たようなものでしょうか?私はVS2010を使用し、昔ながらのWin32 C++間違ってツリーを吠えをたくさんした後、アプリケーション
「地図が分割されています」という意味を理解できません。コード内に1つの地図を宣言すると、分割できません。説明するコードを表示できますか? –
私はグローバルとシングルトンが共有ライブラリごとに定義されていることを覚えているようですので、クラスがライブラリに登録されていれば別々のシングルトンになります。 (私には分かりません) – stefaanv
@stefaanv - これはまさに答えです – vines