靜態lib庫的簡單用法

           目標: 利用自己的函數,來調用其它打包好的靜態lib庫中的函數。

           1 . 生成自己的lib庫:(vs2008)

                新建一個工程, 取好名稱, 然後next到 Application type中設置爲 Static library  , 設置 Application options爲 Empty project ,畢竟我不需要這個預編譯的頭文件。

           2.  添加一個文件到該工程中 , 我這裏想要打包到lib庫中有一個函數, 名爲hello(char *a) ,如下:

           

#include <stdio.h>

void hello(char *a){
	printf("%s", a);
}

            3 . 編譯, 就會在所在編譯目錄下面的debug文件夾中生成了一個packagelib.lib(名字跟你的工程名稱有關)的文件,這個就是我們需要的靜態lib庫。

            4 . 我們希望通過我們的函數來調用這裏的 hello(char *a) 函數,同樣,我們新建一個自己的工程, 在設置Application options時, 不要選擇Static library ,而是選擇 Console application , 同樣沒有添加預編譯的頭文件。代碼如下:

#include <stdio.h>

void hello(char *);

int main(){
	hello("i am CAP !\n");
	return 0;
}

             5. 這裏需要注意的一點就是, 需要在main()的上面寫上lib庫中的函數聲明, 告訴編譯器其他地方有一個叫hello(char *);這樣的函數, 這樣是爲了編譯通過。在編譯main.cpp之前,你需要設置一下工程的屬性以便在鏈接的時候能夠鏈接到靜態庫。 【右鍵工程】 ==> 【Property】 ==> 【Configuration Properties】 ==> 【Linker】 ==> 【Input】 ==> 【Additional Dependences】 選擇剛剛生成的那個lib庫所在的路徑+lib庫的文件名稱+後綴名。

             6. 這樣就可以編譯main.cpp 了, 執行後的效果就是 "I am CAP ! " 。

 

 

           

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章