1樓:
#include "***.h"
#pragma comment(lib, "***x.lib")用lib是需要有庫的標頭檔案的,用dll動態載入不需要標頭檔案。
比如這個文章中的動態呼叫dll中函式的例子
首先,呼叫loadlibrary(),載入庫然後,呼叫getprocaddress(),獲取要呼叫的函式的首地址第三,使用獲取到的函式首地址,即函式
最後,呼叫freelibrary()釋放dll庫
2樓:du瓶邪
1 lib檔案直接加入到工程檔案列表中
在vc中開啟file view一頁,選中工程名,單擊滑鼠右鍵,然後選中"add files to project"選單,在彈出的檔案對話方塊中選中要加入dll的lib檔案。然後在首先要使用該函式的地方加上該lib的標頭檔案,如#include "..\lib.
h"即可(沒有標頭檔案當然就不用了)。
2 設定工程的 project settings來載入dll的lib檔案
開啟工程的 project settings選單,選中link,然後在object/library modules下的文字框中輸入dll的lib檔案,如you.lib(或者lib檔案的路徑,包括檔名)。然後在首先要使用該函式的地方加上該lib的標頭檔案,如#include "..
\lib.h"即可(沒有標頭檔案當然就不用了)。
3 通過程式**的方式
加入預編譯指令#pragma comment (lib,"*.lib"),這種方法優點是可以利用條件預編譯指令連結不同版本的lib檔案。因為,在debug方式下,產生的lib檔案是debug版本,如regd.
lib;在release方式下,產生的lib檔案是release版本,如regr.lib。然後在首先要使用該函式的地方加上該lib的標頭檔案,如#include "..
\lib.h"即可(沒有標頭檔案當然就不用了)。
當應用程式對dll的lib檔案載入後,還需要把dll對應的標頭檔案(*.h)包含到其中,在這個標頭檔案中給出了dll中定義的函式原型,然後宣告
3樓:吉祥二進位制
#pragma comment(lib, "***x.lib")
c#如何呼叫c++靜態庫(lib)
4樓:不安鈮
可以用clr(新)或者managed c++(老)將lib封裝成managed dll供c#直接呼叫。將lib封裝成native dll,c#中通過dllimport呼叫dll。將lib封裝成native dll, 再用clr封裝native dll成managed dll供c#直接呼叫。
將lib封裝為com,在c#中呼叫com。
visual c++如何呼叫第三方庫(標頭檔案)
5樓:何處淬吳鉤
vc呼叫任何第三方庫的一般方法如下。
vc程式的生成過程一般經過編譯、連結、執行三個步驟,要呼叫第三方庫(包括opencv),必須處理好這三個步驟中的問題:
1) 標頭檔案的包含問題。標頭檔案即.h檔案,它給出了函式(同時包含類、物件、巨集等,以下通稱函式)的定義、呼叫方式等;必須指明標頭檔案的位置,只有這樣才能呼叫第三方庫中的函式。
如果標頭檔案未處理好而呼叫相關的函式,則因語法錯誤編譯失敗,出現類似「某某未定義」的錯誤。
方法:#include《標頭檔案》,標頭檔案用絕對路徑或在專案設定裡新增include目錄。
2) lib檔案的配置。lib檔案指明具體的機器**位置。lib檔案配置錯誤,程式可以通過語法檢查,但在連結時會出現「未處理的外部符號『某某』,該符號在某某位置處被引用」的錯誤。
方法:#prgma comment(lib,"***.lib"),用到的lib檔案都要用這個命令新增上,或者在設定裡連結上,具體怎麼做自己找吧。
3) dll即動態連結庫的問題。dll中存放了第三方庫中的機器**。dll配置錯誤,程式可以正確編譯,但在執行時會出現「找不到動態連結庫『某某.dll』」而導致程式退出。
方法:把dll檔案所在目錄新增到環境變數,或直接複製到系統目錄下,或著與生成的exe放在同一目錄下。注意:
有的庫具備debug與release兩個版本,lib版本與dll版本一定要一致,否則程式會異常出錯。
6樓:匿名使用者
curl download wizard
選擇動態庫;
2.、結果如下:
自己看地址,知道好像不讓貼地址。
7樓:
#include《標頭檔案》
c++中lib檔案如何在c#中呼叫?
8樓:匿名使用者
用lib檔案生成dll檔案,還要保證函式是匯出函式;
內在函式前加容上 extern "c" _declspec(dllexport)即可呼叫;
lib有兩種,一種是靜態庫,比如c-runtime庫,這種lib中有函式的實現**,一般用在靜態連編上,它是將lib中的**加入目標模組(exe或者dll)檔案中,所以連結好了之後,lib檔案就沒有用了。
9樓:匿名使用者
lib檔案要保證是靜態lib
即你建立工程的時候選的是win32 static library(靜態連結庫)
我不明白你為什麼不直接建立一個動態連結庫(dll)這樣呼叫就直接多了
難道你沒有源**?
c語言 怎麼呼叫指標陣列函式,C語言 怎麼呼叫指標陣列函式
1.函式指標的陣列定義方法 返回值型別 指標變數名 number 形參列表 例如 double add double a,double b double sub double a,double b double mul double a,double b double div1 double a,d...
c語言呼叫exe檔案的問題,c語言問題,呼叫exe檔案
有個api函式可以直接呼叫 shellexecute null,null,d test.ext null,null,null 其中第3個引數就是 exe程式的絕對路徑.yourexe.exe d 假設你命令列接受這樣的選項比如 d system yourexe.exe d 被呼叫的程式如果需要有輸入...
C語言子函式呼叫糾錯,C語言子函式呼叫糾錯
第一 要保證可以最終退出。就是說,這樣的呼叫最終可以回來。第二 避免迴圈呼叫。就是說當a呼叫b,然後b又呼叫a這種情況,一定要有可以跳出的情況,讓某個a或者b在一定條件下不再呼叫對方就可以返回。第三 避免呼叫深度過深。就是說不能一直呼叫下去。這個具體能夠呼叫多少次根據你的硬體 等具體情況確定的。一般...