vs 2017 静态库 动态库 的初步使用
靜態(tài)庫(kù)的初步使用
會(huì)產(chǎn)生 sln文件與vcproj文件,vcproj是工程文件,sln是解決方案文件
一個(gè)解決方案可以有多個(gè)工程
在頭文件(Lib1.h)寫函數(shù)聲明,在cpp文件定義函數(shù)實(shí)現(xiàn)
這時(shí)候右鍵點(diǎn)擊項(xiàng)目 ->生成, 會(huì)產(chǎn)生 Lib1.lib 的靜態(tài)庫(kù)文件
新建一個(gè)控制臺(tái)項(xiàng)目
a)在主函數(shù)cpp文件里面 通過#include “相對(duì)路徑\Lib1.h” 將函數(shù)聲明引用過來(lái)
b)引用第一步生成的靜態(tài)庫(kù)文件
右鍵項(xiàng)目 -> 屬性 ->配置屬性 ->鏈接器->常規(guī)->附加庫(kù)目錄 將第一步生成的Lib1.lib文件所在的目錄添加上(可以是相對(duì)路徑)
右鍵項(xiàng)目 -> 屬性 ->配置屬性 ->鏈接器-> 輸入->附加依賴項(xiàng) 填寫上靜態(tài)庫(kù)文件的名字 Lib1.lib(這一步也可以通過代碼來(lái)完成
)
這個(gè)時(shí)候就可以正常使用這個(gè)靜態(tài)庫(kù)提供的函數(shù)了
動(dòng)態(tài)庫(kù)的初步使用
會(huì)出現(xiàn) dllmain.cpp這個(gè)文件內(nèi)容如下:
再創(chuàng)建要對(duì)外提供的 頭文件 與 源文件
fouroperations.h
fouroperations.cpp
// fouroperations.cpp : 定義 DLL 應(yīng)用程序的導(dǎo)出函數(shù)。 //#include "stdafx.h" #include "fouroperations.h" #include "iostream" using namespace std;FourOperations::FourOperations() {}FourOperations::~FourOperations() {}double FourOperations::add(double a, double b) {return a + b; } double FourOperations::sub(double a, double b) {return a - b; } double FourOperations::mul(double a, double b) {return a * b; } double FourOperations::div(double a, double b) {return a / b; } void FourOperations::print() {cout << "this is fouroperations.cpp" <<endl; }這時(shí)候右鍵項(xiàng)目,點(diǎn)擊生成會(huì)生成dll文件,發(fā)布的話,就需要
頭文件 fouroperations.h 與 fouroperations.lib 與 fouroperations.dll
2. 使用這個(gè)動(dòng)態(tài)庫(kù)文件
新建一個(gè)項(xiàng)目,右鍵項(xiàng)目屬性->配置屬性->c/c+±>常規(guī)->附加包含目錄(把動(dòng)態(tài)庫(kù)文件的 fouroperations.h 添加進(jìn)去 )
右鍵項(xiàng)目屬性->配置屬性->鏈接器->常規(guī)->附加庫(kù)目錄(填寫fouroperations.lib 所在的路徑)
右鍵項(xiàng)目屬性->配置屬性->鏈接器->輸入->附加依賴項(xiàng)(填寫fouroperations.lib )
這樣就可以正常使用這個(gè)動(dòng)態(tài)庫(kù)文件了
另外關(guān)于 linux下,如果出現(xiàn) 靜態(tài)庫(kù) 使用了動(dòng)態(tài)庫(kù), 而我們又要使用這個(gè)靜態(tài)庫(kù)的 情景:
參考https://www.cnblogs.com/fnlingnzb-learner/p/8119729.html
非常詳細(xì)
總結(jié)
以上是生活随笔為你收集整理的vs 2017 静态库 动态库 的初步使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育研究基地寄存行李要钱吗
- 下一篇: 所谓婚姻剧情介绍