我有以下情况:
我有约20个C ++项目的解决方案。大多数是静态库,一些是DLL和一些可执行文件。此解决方案具有两个配置-调试和发行版,以及两个平台-Win32和x64。长期以来,所有人都运转良好。
现在,我想针对特定的静态库(lib_core)具有两种不同的行为-X和Y。因此,我#ifdef
在此库代码中添加了一些宏USE_X
。我基于“ Release”创建了一个新的解决方案配置“ Release_X”,并将“ Release”重命名为“ Release_Y”。
然后,我对lib_core的项目配置执行了相同的操作,将相关的项目配置分配给了相同的解决方案配置,并将宏添加USE_X
到Release_X项目配置中。
所有其他项目(其中一些甚至都不属于我的项目,因此无论如何我都无法更改)仍保留有Release和Debug配置。
现在,当我尝试构建项目(以及清理/重建,以防万一)时,lib_core无法通过以下方式构建:
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(283,5):
error MSB8013: This project doesn't contain the Configuration and Platform combination of Release|Win32.
这里有什么问题?
我该如何工作?
显然,我要做的只是卸载项目并重新加载它,一切开始正常进行。我猜想关闭和重新打开VS的工作方式相同。
当我将MSBuild输出更改为诊断模式时,我看到该项目的配置被定义为“发布”。卸载并重新加载后,它解决了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句