2016-01-28 30 views
0

我有.a擴展名和file.h文件,代表.a文件中的 函數。如何從C項目中的.A文件調用方法?

如何從新的C項目調用.a文件中的函數?

我使用的是Visual Studio,而且我在互聯網上的所有東西都沒有,並且沒有發現 發現有用的東西。

由於

回答

1
#include 'xxx.h" 
在代碼

然後,假設ABC是在庫中的功能,只是把它: INT X = ABC();

您還必須將程序與庫鏈接。

+0

搜索互聯網「視覺工作室添加圖書館」,你會得到噸的點擊。 – FredK

+0

Visual Studio是否支持.a格式?據說像這樣的文件需要處理,以便他們有一個.lib擴展名... – rlam12

1

有兩個步驟,以在Visual Studio項目使用外部庫:你需要同時滿足編譯連接

編譯

這是因爲,包括在應用程序中的頭文件一樣簡單;將頭文件直接放在源代碼樹中,或者如果它位於另一個目錄中,則將其添加到包含路徑中(右鍵單擊項目 - >屬性,選擇「C/C++」並將該目錄添加到「其他包含目錄「屬性)。

您現在應該可以在沒有問題的情況下使用#include "myexternallibrary.h",這將允許編譯器識別庫函數。

鏈接

一般來說,以滿足連接器,該指令非常類似於上面的頭文件:直接傾倒二進制庫到你的項目樹,並通過屬性 - >連接器 - 引用它>輸入 - >「附加依賴」(例如,mylibrary.a);如果庫位於項目樹外部的目錄中,並且您不想在該屬性中包含庫的完整路徑,則可以將該目錄添加到鏈接器的搜索路徑中:Properties-> Linker-> General - >「其他庫目錄」。

這下一位就是事情,因爲你明確說明庫文件是一個.A格式,而不是的.lib有點棘手。

。庫文件通常來自MinGW工具鏈,該工具鏈可能會或可能不會與Visual Studio工具鏈一起正常工作。請參閱相關的詳細信息:From MinGW static library (.a) to Visual Studio static library (.lib)

您可能會很幸運,MSVC和MinGW(或生成的.a文件的任何工具鏈)之間的標準C運行庫的用法是兼容的。

請注意,請確保您嘗試使用的庫實際上不是Linux庫,因爲庫擴展也是GCC(用於Linux的最常用C編譯器)的默認值, ,並且它在Windows環境中不兼容。

相關問題