當(dāng)一個(gè)解決方案中設(shè)置了工程A依賴于工程B;
工程B為 lib 靜態(tài)庫(kù);工程A需要鏈接工程B的庫(kù);
此時(shí),在該解決方案中編譯,工程A和B都不會(huì)有問(wèn)題;
但是,如果遷移工程A到其他位置,僅附帶工程B的頭文件和lib文件;并且在工程A中設(shè)置了相應(yīng)的庫(kù)目錄和頭文件目錄;
但是,編譯時(shí),工程A會(huì)固執(zhí)的在當(dāng)前工程的輸出路徑中去找工程B的lib文件,導(dǎo)致找不到而報(bào)錯(cuò),例如:
1>LINK : fatal error LNK1104: 無(wú)法打開文件“E:\DGSource\DG_Game\Project2009\trunk\DreamStudio\Projects\Debug\DreamStudioGuidD.lib”
經(jīng)檢查,發(fā)現(xiàn)在解決方案中設(shè)置的項(xiàng)目依賴項(xiàng)不是保存在解決方案中的,而是保存在項(xiàng)目文件中的,例如:
<ItemGroup>
<ProjectReference Include="..\DreamStudioGuid\DreamStudioGuid.vcxproj">
<Project>{4a2c5657-e601-43ec-8ce5-991c7aec7d10}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>