项目之间的联系

时间:2013-05-05 11:36:36

标签: c++ visual-studio-2012 linker dependencies projects

我有一个包含2个项目的解决方案:

第一个叫Engine,它有3个类:Backbuffer和Vector2和CTimer。它是控制台应用程序DLL类型,链接winmm.lib,所有成员都在命名空间“引擎”中,如果我构建它(只有这个项目)它编译。<​​/ p>

另一个,Game,链接项目Engine的依赖项,类型为Win32项目,具有其他包含目录$(SolutionDir)\ Engine \,将“链接库依赖项”设置为true 。而且它没有编译。

两个项目都使用“/ MD”标志进行编译。

我不确定问题是否是由VS12引起的。尝试了很多类似错误的解决方案,但对我没有任何结果。

问题似乎是它没有编译.CPP文件。如果我只编译“引擎”项目,它会很好地编译。

错误:

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 ==========

谢谢!

0 个答案:

没有答案