vs 2017 静态库 动态库 的初步使用
靜態(tài)庫的初步使用
會產(chǎn)生 sln文件與vcproj文件,vcproj是工程文件,sln是解決方案文件
一個解決方案可以有多個工程
在頭文件(Lib1.h)寫函數(shù)聲明,在cpp文件定義函數(shù)實現(xiàn)
這時候右鍵點擊項目 ->生成, 會產(chǎn)生 Lib1.lib 的靜態(tài)庫文件
新建一個控制臺項目
a)在主函數(shù)cpp文件里面 通過#include “相對路徑\Lib1.h” 將函數(shù)聲明引用過來
b)引用第一步生成的靜態(tài)庫文件
右鍵項目 -> 屬性 ->配置屬性 ->鏈接器->常規(guī)->附加庫目錄 將第一步生成的Lib1.lib文件所在的目錄添加上(可以是相對路徑)
右鍵項目 -> 屬性 ->配置屬性 ->鏈接器-> 輸入->附加依賴項 填寫上靜態(tài)庫文件的名字 Lib1.lib(這一步也可以通過代碼來完成
)
這個時候就可以正常使用這個靜態(tài)庫提供的函數(shù)了
動態(tài)庫的初步使用
會出現(xiàn) dllmain.cpp這個文件內(nèi)容如下:
再創(chuàng)建要對外提供的 頭文件 與 源文件
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; }這時候右鍵項目,點擊生成會生成dll文件,發(fā)布的話,就需要
頭文件 fouroperations.h 與 fouroperations.lib 與 fouroperations.dll
2. 使用這個動態(tài)庫文件
新建一個項目,右鍵項目屬性->配置屬性->c/c+±>常規(guī)->附加包含目錄(把動態(tài)庫文件的 fouroperations.h 添加進(jìn)去 )
右鍵項目屬性->配置屬性->鏈接器->常規(guī)->附加庫目錄(填寫fouroperations.lib 所在的路徑)
右鍵項目屬性->配置屬性->鏈接器->輸入->附加依賴項(填寫fouroperations.lib )
這樣就可以正常使用這個動態(tài)庫文件了
另外關(guān)于 linux下,如果出現(xiàn) 靜態(tài)庫 使用了動態(tài)庫, 而我們又要使用這個靜態(tài)庫的 情景:
參考https://www.cnblogs.com/fnlingnzb-learner/p/8119729.html
非常詳細(xì)
總結(jié)
以上是生活随笔為你收集整理的vs 2017 静态库 动态库 的初步使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育研究基地寄存行李要钱吗
- 下一篇: go语言 函数相关1:实参到形参的传递永