2010-02-04 59 views
1

我添加了一個.LIB我c項目的靜態庫(.LIB),不能包含在Visual C++

但仍無法.lib.c

main() 
{ 
    structure_defined_inthat_lib c; 
    ... 
請中定義的東西

我補充說,.lib這樣:

點擊右鍵,屬性,鏈接,輸入,

,並在「附加依賴形成的我輸入「D:\path\name.lib

有什麼問題嗎?

回答

3

您需要將定義該庫中的東西的頭文件包含到要使用該東西的代碼中。該頭文件必須位於C++ - >常規 - >其他包含目錄中指定的路徑之一 - 您可能需要將頭的路徑添加到該列表中。

而且僅指定的庫文件名在連接設置「附加依賴」,並提供了在「附加庫目錄」該文件的路徑。

+0

我試過'#include ',但它報告:沒有這樣的文件或目錄 – user198729 2010-02-04 10:19:08

+0

尤其是第二段upvotes。重點是您可以更改不同配置的庫文件夾(例如將庫的調試版本鏈接到項目的調試版本),但庫名稱保持不變。我不知道爲什麼庫名稱上的路徑根本不被接受,即使對於單配置項目,除了VC++默認創建兩個配置項目(調試和發佈)之外。 – Steve314 2010-02-04 10:21:46

+0

在「C/C++」的屬性,尋找「常規」和「附加包含目錄」 - 許多圖書館保持頭與源(而不是在同一個文件夾,而是一個兄弟文件夾),但把庫中separare調試/釋放文件夾,其中*只包含編譯器的輸出(可能包括目標文件和其他中間內容),因此包含路徑和庫路徑保持分離。 – Steve314 2010-02-04 10:25:36

0

您需要庫和頭文件來使用庫中定義的函數。如果您知道功能簽名,您還可以使用extern來聲明它們。