我正在开发一个项目(游戏引擎),其中包含11个项目(VS项目)的解决方案,其中10个是静态库(.lib),另一个是可执行文件(.exe)。我只使用2台计算机 - 一台在家,一台在工作,都使用Visual Studio 2015社区。在家里工作得很好,但工作中的那个有问题 - 当我构建解决方案时,链接器总是在寻找“corelib.lib”文件。该文件存在于前一段时间,但在某些时候我开始在发布和调试之间过于频繁地切换,我制定了一个新的约定来减轻编译时间的痛苦 - 现在我的文件被调用:corelib_vc14_dbg.lib和corelib_vc14_rls.lib(用于调试)并分别发布)。无论我做什么,链接器总是查找此文件。我尝试清理解决方案,我尝试完全清理svn副本,我尝试了新的结帐,我尝试将svn副本移动到另一个位置。我尝试在目录中查找“corelib.lib”(多次,使用Sublime和Notepad ++),我没有点击。 “.sdf”,“。suo”,“。user”等文件未进行版本控制。目标文件,库,可执行文件等也从svn中排除,因此不存在任何缓存值(如果有的话)。可能导致问题的原因是什么? Visual Studio是否在任何地方缓存这样的东西?如果是这样的话 - 为什么我不能在任何地方找到它?
以下是失败项目的依赖关系:
Debug:
AdditionalDependencies>openal.lib;opengl32.lib;engine_vc14_dbg.lib;corelib_vc14_dbg.lib;glfw_vc14_dbg.lib;glew_vc14_dbg.lib;gorilla_vc14_dbg.lib;jsoncpp_vc14_dbg.lib;%(AdditionalDependencies)</AdditionalDependencies>
Release
<AdditionalDependencies>openal.lib;opengl32.lib;engine_vc14_rls.lib;corelib_vc14_rls.lib;glfw_vc14_rls.lib;glew_vc14_rls.lib;gorilla_vc14_rls.lib;jsoncpp_vc14_rls.lib;%(AdditionalDependencies)</AdditionalDependencies>
所有.lib文件都使用新名称正确导出(例如:“corelib_vc14_dbg.lib”),但链接器仍然会查找旧库文件“corelib.lib”
答案 0 :(得分:0)
我解决了我的问题。这是我从未预料到的地方 - 当我从VS2013搬到VS2015时,一些旧项目的引用被遗漏了,并引发了这个奇怪的问题。值得庆幸的是,我保持我的项目文件夹有条理,所以我查看了“vs2013”主干中的所有内容,发现了一堆出现,用“vs2015”手动替换它们,一切正常:)