2012-04-28 84 views
2

所以我在這裏有我的解決方案文件,其中包含4個項目。從MS Visual Studio導入來自同一解決方案的庫

  • 項目A是被編譯成一個的.lib庫。
  • B項目是一個程序,它變成了.exe

我已成立項目A作爲項目B依賴性,並且我包括

#pragma comment(lib,"terrain.lib") 

項目B其使用庫文件。

儘管這兩個項目被編譯到同一調試/發佈文件夾,MSVCC告訴我

1>LINK : fatal error LNK1104: File "terrain.lib" could not be opened. 
// <freely translated from German, could mean "not found"> 

此:

#pragma comment(lib,"../Debug/terrain.lib") 

作品,但後來我不得不改變它用於發佈。

是唯一有效的方法使用#ifdef

回答

1

您需要在項目設置中指定庫路徑(鏈接器設置中的「附加庫目錄」 - 至少在vc2008中),以用於調試和發佈配置。您可以使用像$ {ConfigurationName}和$ {SolutionDir}這樣的宏,因此在項目中指定路徑應該很簡單。

此外,使用鏈接器設置而不是#pragma comment包含庫可能更好。

+0

謝謝,設置現在的作品。 我仍然覺得很困惑,因爲它被設置爲必需的項目,所以我必須將路徑添加到庫中。 – cfstras 2012-04-29 01:12:28