2011-05-30 479 views
4

事項:鏈接到靜態庫在Visual Studio 2010

  • 我敢肯定,我使用正確的靜態庫(含DLLEXPORT和所有)
  • 生成的.lib文件是巨大(3M,8M等)。共享的是大約300K-1M。所以,我十分肯定的.lib文件是靜態
  • 我要鏈接到這些靜態庫文件在一個單獨的解決方案
  • 這是一個非託管的C/C++項目

我讀過,我需要使用新的UI(通用屬性>添加新引用thingy)。但爲了這個工作,我需要將整個項目添加到我的解決方案。有沒有辦法將我的項目鏈接到靜態庫(不添加源代碼)。

回答

7

'添加新引用'thingy是一個.NET選項,用於添加程序集引用。您無法在.NET中創建靜態鏈接庫,程序集始終是動態加載的。暫停懷疑並實際回答問題:使用對話框中的「瀏覽」選項卡以避免必須將項目添加到解決方案。

使用靜態鏈接庫的本機項目必須使用鏈接器,輸入,附加依賴項設置。無需添加生成.lib的項目。如果您沒有指定.lib的完整路徑,那麼您可以使用鏈接程序,常規,附加鏈接程序目錄來告訴鏈接程序在哪裏查找.lib

+0

?!我只是編譯了一個C++項目!我嘗試了附加依賴關係設置 - 沒有工作。它使用這些庫作爲標準的共享庫。我可以錯過一些步驟嗎? – 2011-05-30 16:42:47

+0

此時,您是否使用C++/CLI語言編寫託管代碼仍然完全不清楚。很難幫助你解決這些基本問題。至少仔細記錄你所得到的錯誤信息。 – 2011-05-30 16:51:56

+0

沒有錯誤 - 一切正常。這都是非託管代碼。但是我必須包含庫的完整源代碼才能正常工作。我確信有一種更簡單的方法。 – 2011-05-30 17:02:18

相關問題