0

2 つのプロジェクトを含むソリューションがあります。

最初のクラスが呼び出されEngine、Backbuffer と Vector2 と CTimer の 3 つのクラスがあります。コンソール アプリケーション DLL のタイプで、winmm.lib にリンクし、名前空間 "Engine" にすべてのメンバーがあり、ビルドすると (このプロジェクトのみ)、コンパイルされます。

もう 1 つのGameプロジェクト のリンク依存関係Engineは Win32 プロジェクト タイプであり、追加のインクルード ディレクトリ $(SolutionDir)\Engine\ があり、「Link Library Dependencies」が true に設定されています。そして、それはコンパイルされません。

どちらのプロジェクトも「/MD」フラグを付けてコンパイルされています。

問題の原因が VS12 であるかどうかはわかりません。同様のエラーに対して多くの解決策を試しましたが、結果は得られませんでした。

問題は、.CPP ファイルをコンパイルしないようです。「Engine」プロジェクトだけをコンパイルすると、完全にコンパイルされると思いました。

エラー:

1>------ Rebuild All started: Project: Engine, Configuration: Release Win32 ------
1>  BackBuffer.cpp
1>  CTimer.cpp
1>  Vector2.cpp
1>  Generating code
1>  Finished generating code
1>  Engine.vcxproj -> G:\Ubisoft\HumansVsZombies\Release\Engine.dll
2>------ Rebuild All started: Project: Game, Configuration: Release Win32 ------
2>  CGameApp.cpp
2>  CGameObject.cpp
2>  Main.cpp
2>CGameApp.obj : error LNK2001: unresolved external symbol "public: void __thiscall Engine::BackBuffer::reset(void)" (?reset@BackBuffer@Engine@@QAEXXZ)
2>CGameApp.obj : error LNK2001: unresolved external symbol "public: void __thiscall Engine::BackBuffer::present(void)" (?present@BackBuffer@Engine@@QAEXXZ)
2>CGameApp.obj : error LNK2001: unresolved external symbol "public: __thiscall Engine::BackBuffer::~BackBuffer(void)" (??1BackBuffer@Engine@@QAE@XZ)
....
2>G:\Ubisoft\HumansVsZombies\Release\Game.exe : fatal error LNK1120: 12 unresolved externals
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========

ありがとうございました !

4

0 に答える 0