当一个解决方案中设置了工程A依赖于工程B;
工程B为 lib 静态库;工程A需要链接工程B的库;
此时,在该解决方案中编译,工程A和B都不会有问题;
工程B为 lib 静态库;工程A需要链接工程B的库;
此时,在该解决方案中编译,工程A和B都不会有问题;
但是,如果迁移工程A到其他位置,仅附带工程B的头文件和lib文件;并且在工程A中设置了相应的库目录和头文件目录;
但是,编译时,工程A会固执的在当前工程的输出路径中去找工程B的lib文件,导致找不到而报错,例如:
1>LINK : fatal error LNK1104: 无法打开文件“E:\DGSource\DG_Game\Project2009\trunk\DreamStudio\Projects\Debug\DreamStudioGuidD.lib”
经检查,发现在解决方案中设置的项目依赖项不是保存在解决方案中的,而是保存在项目文件中的,例如:
<ItemGroup>
<ProjectReference Include="..\DreamStudioGuid\DreamStudioGuid.vcxproj">
<Project>{4a2c5657-e601-43ec-8ce5-991c7aec7d10}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>