VS2010,C++ 制作静态库(*.lib),并使用
VS2010,C++ 制作靜態(tài)庫(kù)(*.lib),并使用
原文鏈接:https://blog.csdn.net/qq_41472037/article/details/100001322
簡(jiǎn)單來(lái)說(shuō),就是建立兩個(gè)項(xiàng)目:① Win32 Project (Win32 項(xiàng)目):
接口文件.h 和 實(shí)現(xiàn)接口文件.cpp, 按F7編譯后 生成靜態(tài)庫(kù) *.lib ,lib可以理解成一個(gè)可以實(shí)現(xiàn)功能的包
②Win32 Console Application(Win32控制臺(tái)工程) :
使用 *.lib 庫(kù)以及接口文件.h,用一個(gè)main函數(shù)調(diào)用,就可以實(shí)現(xiàn)跟之前有實(shí)現(xiàn)接口文件.cpp一樣的功能。
編寫(xiě)靜態(tài)庫(kù)有什么好處呢?簡(jiǎn)而言之,你的函數(shù)具體實(shí)現(xiàn)不會(huì)泄露,別人要用你的庫(kù)所實(shí)現(xiàn)的功能,直接調(diào)用靜態(tài)庫(kù)跟接口名稱就可以。
詳細(xì)的解釋如下:
好啦,接下來(lái)是詳細(xì)的編寫(xiě)靜態(tài)庫(kù)、使用靜態(tài)庫(kù)教程!!!
一、編寫(xiě)靜態(tài)庫(kù)(*.lib)
在Vs2010下,新建一個(gè)生成靜態(tài)庫(kù)的工程,操作:File->New->Projects->Win32 Project,點(diǎn)擊Next,在Win32 application wizard頁(yè)面中選擇靜態(tài)庫(kù)。
①
②
③
④工程名:Win32ProjectTest
工程目錄:I:\VS2010\C++Project\Win32ProjectTest
這時(shí)你可以在工程目錄下看到*.sln及*.sdf文件,沒(méi)有任何源文件。
你可以像以前的練習(xí)那樣(比如練習(xí)Polynomial)來(lái)寫(xiě)你的代碼,為省事,可將練習(xí)Polynomial中寫(xiě)的PolynomialList類(lèi)的3個(gè)文件(PolynomialList.cpp, PolynomialList.h,TestPolynomial.h)直接拷貝到該工程目錄下(I:\VS2010\C++Project\Win32ProjectTest);
然后將這兩個(gè)文件(PolynomialList.cpp, PolynomialList.h,TestPolynomial.h)加入到該工程,操作:Project->Add exiting item->Files,然后選擇這3個(gè)文件即可:
可以看到,工程下已添加。(其實(shí)就是寫(xiě) .h 和 .cpp 用來(lái)編譯生成lib庫(kù)的。)
注意:這里要在.cpp源文件中加入#include"stdafx.h",然后在stdafx.h文件中加入#include " PolynomialList.h"和#include"TestPolynomial.h",即把頭文件 加進(jìn)去
這時(shí)你就可以編譯(F7)整個(gè)工程了,編譯好后會(huì)看到\debug目錄下有個(gè)*.lib文件,即為靜態(tài)庫(kù)文件。
Win32ProjectTest.lib庫(kù)的目錄:I:\VS2010\C++Project\Win32ProjectTest
注意:不像一般的C++工程,必須要有main()主函數(shù)入口。編譯靜態(tài)庫(kù)不需要main()函數(shù)的。
二、使用靜態(tài)庫(kù)(.lib)
有了靜態(tài)庫(kù)文件(比如名為Win32ProjectTest.lib),然后你只要PolynomialList.h,TestPolynomial.h和Win32ProjectTest.lib就可以使用PolynomialList的功能了。
這樣你就可以通過(guò)頭文件(PolynomialList.h,TestPolynomial.h(提供接口))及庫(kù)文件(Win32ProjectTest.lib(提供實(shí)現(xiàn)接口的庫(kù)))即可發(fā)布你的程序,不必發(fā)布你的程序的實(shí)現(xiàn)的源代碼(.cpp),這樣可以達(dá)到保護(hù)你的源代碼(和知識(shí)產(chǎn)權(quán))的目的。
新建一個(gè)Console application的工程,操作:File->New->Projects->Win32 Console Application;
使用靜態(tài)庫(kù).lib工程的目錄:I:\VS2010\C++Project\Win32ConsoleAppLibUsing
把PolynomialList.h,TestPolynomial.h及剛才生成的庫(kù)文件Win32ProjectTest.lib拷貝到該工程目錄下:
再將你練習(xí)PolynomialList的測(cè)試文件test.cpp(其實(shí)可以自己寫(xiě))拷貝到該工程目錄下:
將PolynomialList.h,TestPolynomial.h和test.cpp文件加入到工程,Project->Add to project->Files;
接下來(lái),引入 Win32ProjectTest.lib 庫(kù)到工程中,
1.1鏈接器
現(xiàn)在將Win32ProjectTest.lib加入到工程來(lái),project->Settings…->Linker->Input(輸入),在Additional Dependencies下的編輯框最后填上”Win32ProjectTest.lib”.
1.2
接著,鏈接器–》常規(guī)–》附加庫(kù)目錄(即Win32ProjectTest.lib),填寫(xiě)I:\VS2010\C++Project\Win32ConsoleAppLibUsing
2.1 C/C++
然后,在C/C++ 下的 常規(guī)–》附加包含目錄,填寫(xiě)Win32ProjectTest.lib庫(kù)的目錄,
現(xiàn)在試著編譯看看。沒(méi)問(wèn)題了吧?運(yùn)行程序,得到與當(dāng)初練習(xí)PolynomialList完全一樣的結(jié)果。
結(jié)果如下:
————————————————
版權(quán)聲明:本文為CSDN博主「Jasscical」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41472037/article/details/100001322
總結(jié)
以上是生活随笔為你收集整理的VS2010,C++ 制作静态库(*.lib),并使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ETH-trunk(链路聚合协议)lac
- 下一篇: VS2010创建ATL工程及使用C++测