visual studio生成動態庫DLL

visual studio生成動態庫DLL

  1. 創建動態庫工程

    注意 #include “pch.h” 要放在上面

    完成后點擊生成
    在這里插入圖片描述

  2. 創建一個控制臺項目

在這里插入圖片描述

設置項目附加目錄為剛才創建的動態庫工程Dll1:

在這里插入圖片描述

配置附加庫目錄:

在這里插入圖片描述

配置動態庫的導入庫(.lib:鏈接器僅記錄符號信息,不合并代碼,但需要它來解析符號引用。這里的lib文件不是靜態庫

在這里插入圖片描述

右擊設置控制臺項目為啟動項目,然后點擊啟動就ok了

2025/5/14 補充:

動態庫一般會定義一個宏

#ifdef MYLIBRARY_EXPORTS#define MYLIB_API __declspec(dllexport)
#else#define MYLIB_API __declspec(dllimport)
#endif

可以把這個宏放在動態庫都需要包含的頭文件 “pch.h” 中,讓動態庫中的每個頭文件都可以包含到它。

動態庫工程中,在項目屬性頁,c+±預處理器-預處理定義中,添加這個宏 MYLIBRARY_EXPORTS,在主工程中不添加這個宏,這樣就可以使用了。

另外,主工程包含動態庫,一般會將動態庫的頭文件路徑配置到主工程的包含目錄中,主工程的庫目錄配置動態庫lib文件(動態庫導入文件,非靜態庫文件)所在目錄,然后將動態庫dll文件放入主工程exe文件所在目錄下(否則會報找不到該dll文件)

linux系統中,lib文件和dll文件合二為一變成了so文件,所以只需要將頭文件和so文件加入到主工程中就可以了。在windows系統中,一般需要先編譯生成動態庫文件,再配置主工程的包含目錄(一般不把動態庫的頭文件加入到主工程中),庫目錄,復制dll庫文件到動態庫exe文件所在文件夾。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81141.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81141.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81141.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab多智能體網絡一致性研究

一個基于連續時間多智能體系統(Multi-Agent Systems, MAS)的一階一致性協議的MATLAB仿真代碼,包含網絡拓撲建模、一致性協議設計和收斂性分析。代碼支持固定拓撲和時變拓撲,適用于學術研究。 1. 基礎模型與代碼框架 (1) 網絡拓撲…

【omnet++】omnet++6.0.3中調用python

版本: omnet 6.0.3 Ubuntu 20.04.6 LTS omnet的installguide中對ubuntu版本是有要求的,找到對應版本下載即可 先安裝omnet再安裝anaconda omnet 6.0.3安裝 別在網上找教程了,官方的installguide手冊是最好的。按照手冊安裝一些依賴包后 so…

【C++】 —— 筆試刷題day_29

一、排序子序列 題目解析 一個數組的連續子序列,如果這個子序列是非遞增或者非遞減的;這個連續的子序列就是排序子序列。 現在給定一個數組,然后然我們判斷這個子序列可以劃分成多少個排序子序列。 例如:1 2 3 2 2 1 可以劃分成 …

UE RPG游戲開發練手 第二十七課 普通攻擊2

UE RPG游戲開發練手 第二十七課 普通攻擊2 1. 創建普通攻擊的蒙太奇動畫 2.打開4個蒙太奇動畫,修改插槽為FullBody,修改動畫速度 3.編輯動畫藍圖,插入FullBody插槽讓普通攻擊動畫得以播放 4. 編輯GA_LightAttack技能藍圖

MySQL——日志

undo log(回滾日志):引擎層生成的日志,實現了事務的原子性,用于事務回滾和MVCC。redo log(重做日志):引擎層生成的日志,實現了事務的持久性,用于非正常關閉的數據恢復。bin log(歸檔日志):Serve…

QML 動畫控制、順序動畫與并行動畫

目錄 引言相關閱讀基礎屬性說明工程結構示例代碼解析示例1:手動控制動畫(ControlledAnimation.qml)示例2:順序動畫(SequentialAnimationDemo.qml)示例3:并行動畫(ParallelAnimationD…

PowerShell 實現 conda 懶加載

問題 執行命令conda init powershell會在 profile.ps1中添加conda初始化的命令。 即使用戶不需要用到conda,也會初始化conda環境,拖慢PowerShell的啟動速度。 解決方案 本文展示了如何實現conda的懶加載,默認不加載conda環境,只…

R語言學習--Day03--數據清洗技巧

在一般情況下,我們都是在數據分析的需求前提下去選擇使用R語言。而實際上,數據分析里,百分之八十的工作,都是在數據清洗。并不只是我們平時會提到的異常值處理或者是整合格式,更多會涉及到將各種各樣的數據整合&#x…

谷歌地圖代理 | 使用 HTML 和矢量模式 API 更輕松地創建 Web 地圖

在過去的一年里,谷歌對 Maps JavaScript API 進行了兩項重要更新,以便更輕松地采用我們最新、最好的地圖:HTML 地圖和矢量模式 API。今天谷歌地圖亞太區最大代理商之一的 Cloud Ace云一 為大家介紹一下更新的具體內容。 聯系我們 - Cloud Ac…

WL-G4048 Multi-Port PCIe 4.0 Switch

系列文章目錄 文章目錄 系列文章目錄《WL-G4048 Multi-Port PCIe 4.0 Switch數據手冊》總結一、芯片介紹二、芯片規格介紹(一)功能指標(二)管理調試和監控(三)參考時鐘(四)系統復位 …

召回11:地理位置召回、作者召回、緩存召回

GeoHash 召回 屬于地理位置召回,用戶可能對附近發生的事情感興趣。GeoHash 是一種對經緯度的編碼,地圖上每個單位矩形的 GeoHash 的前幾位是相同的,GeoHash 編碼截取前幾位后,將相同編碼發布的內容按時間順序(先是時間…

高效批量合并Word文檔的工具介紹

軟件介紹 本文介紹一款專門用于批量合并Word文檔的工具,名為批量合并word工具。 使用方法與特點 如果需要將多個Word文檔合并到一個Word文檔中,就可以使用這款工具。使用前,需把要合并的Word文檔都放在名為“word”的文件夾下。 該軟件沒有…

機器學習入門之KNN算法和交叉驗證與超參數搜索(三)

機器學習入門之KNN算法和交叉驗證與超參數搜索(三) 文章目錄 機器學習入門之KNN算法和交叉驗證與超參數搜索(三)一、KNN算法-分類1. 樣本距離判斷明可夫斯基距離 2. KNN 算法原理3. KNN 的缺點4. KNN 的 API5. 使用 sklearn 實現 …

小剛說C語言刷題—1700請輸出所有的2位數中,含有數字2的整數

1.題目描述 請輸出所有的 2 位數中,含有數字 2 的整數有哪些,每行 1個,按照由小到大輸出。 比如: 12、20、21、22、23… 都是含有數字 2的整數。 輸入 無 輸出 按題意要求由小到大輸出符合條件的整數,每行 1 個。…

在MYSQL中導入cookbook.sql文件

參考資料: GitHub 項目:svetasmirnova/mysqlcookbook CSDN 博客:https://blog.csdn.net/u011868279/category_11645577.html 建庫: mysql> use mysql Reading table information for completion of table and column names …

Scrapy框架下地圖爬蟲的進度監控與優化策略

1. 引言 在互聯網數據采集領域,地圖數據爬取是一項常見但具有挑戰性的任務。由于地圖數據通常具有復雜的結構(如POI點、路徑信息、動態加載等),使用傳統的爬蟲技術可能會遇到效率低下、反爬策略限制、任務進度難以監控等問題。 …

【Win32 API】 lstrcmpA()

作用 比較兩個字符字符串(比較區分大小寫)。 lstrcmp 函數通過從第一個字符開始檢查,若相等,則檢查下一個,直到找到不相等或到達字符串的末尾。 函數 int lstrcmpA(LPCSTR lpString1, LPCSTR lpString2); 參數 lpStr…

代碼隨想錄60期day38

2維背包 #include<bits/stdc.h> using namespace std;int main(){int n,bagweight;cin>>n>>bagweight;vector<int>weight(n,0);vector<int>value(n,0);for(int i 0 ; i <n;i){cin>>weight[i];}for(int j 0;j<n;j){cin>>val…

[模型部署] 1. 模型導出

&#x1f44b; 你好&#xff01;這里有實用干貨與深度分享?? 若有幫助&#xff0c;歡迎&#xff1a;? &#x1f44d; 點贊 | ? 收藏 | &#x1f4ac; 評論 | ? 關注 &#xff0c;解鎖更多精彩&#xff01;? &#x1f4c1; 收藏專欄即可第一時間獲取最新推送&#x1f514;…

mac的Cli為什么輸入python3才有用python --version顯示無效,pyenv入門筆記,如何查看mac自帶的標準庫模塊

根據你的終端輸出&#xff0c;可以得出以下結論&#xff1a; 1. 你的 Mac 當前只有一個 Python 版本 系統默認的 Python 3 位于 /usr/bin/python3&#xff08;這是 macOS 自帶的 Python&#xff09;通過 which python3 確認當前使用的就是系統自帶的 Pythonbrew list python …