2012-07-08 40 views
1

可以說我有3個項目:編譯器何時需要訪問庫?

  • 項目計劃 - >編譯成可執行
    • 參考音頻,Tweakbar
    • 附加依賴​​:沒有
    • 附加庫的依賴:沒有
  • 項目音頻
    • 包裝器FMOD,編譯成的.lib
    • 附加依賴​​:fmodex_vc.lib
    • 附加庫的依賴:$(SolutionDir)\庫\ FMOD \ lib中
  • 項目TweakBar
    • 包裝周圍AntTweakBar ,編譯成的.lib
    • 附加依賴​​:AntTweakBar.lib
    • 附加庫的依賴:$(SolutionDir)庫\ AntTweakBar \ lib中
    • 現在

,問題是,我收到以下編譯錯誤:

致命錯誤LNK1104:無法打開文件「AntTweakBar.lib」

這個錯誤可以通過將得到解決在「Program」的項目設置中,該lib文件的路徑

我想知道的是爲什麼我需要在那裏有這個lib的路徑?沒有這樣的路徑,fmod可以很好地工作。

+0

沒有名爲「附加庫依賴關係」的設置。如果你的意思是「目錄」,不,這對鏈接程序沒有影響。 – 2012-07-08 20:18:27

+1

@HansPassant其他庫依賴項在項目屬性 - >鏈接器 – 2012-07-08 20:21:36

回答

0

因爲僅在創建可執行文件時才需要庫;在這一點上,所有庫都鏈接到可執行文件中。

顯然,VisualStudio IDE不會自動將其他庫使用的庫向上推送到實際應用程序,因此您必須手動執行此操作。

+0

如果是這種情況,那爲什麼它對FMOD有效?我可以完美地播放音樂,而無需向「Program」項目提供路徑到fmodex_vc.lib – aCuria 2012-07-08 19:47:00

+0

實際上,它不只是FMOD,我不提供其他許多庫的路徑:SDL,freetype,freeimage,glu32,glew32 ... – aCuria 2012-07-08 19:50:09