靜態庫和動態庫的相互呼叫

2021-07-26 03:08:48 字數 372 閱讀 1150

在windows程式設計中,經常會遇到靜態庫里呼叫動態庫的問題。

具體方法:

1,編寫乙個動態鏈結庫,生成。

2,編寫乙個靜態鏈結庫,裡面包含步驟1生成的動態鏈結庫的標頭檔案和lib, dll。

3,在呼叫該靜態鏈結庫時,將步驟2中的靜態鏈結庫的標頭檔案,lib檔案以及動態庫的標頭檔案,lib,dll檔案放在工程下面,編譯可以成功。發布的時候,需要將動態鏈結庫的dll跟生成的dll放在一起,不然會報缺少dll檔案。

另外在一些mfc程式中,由於動態發布mfc需要在別人電腦上安裝vc執行環境,還有很多dll,很麻煩,一般都採用靜態發布。但是又必須使用動態鏈結庫。所以按照上面的方法,很容易實現靜態發布帶上動態鏈結庫。具體例程見靜態發布呼叫動態鏈結庫,裡面有詳細的示例

靜態庫與動態庫相互呼叫

測試場景,test,lib1,lib2,dll1,dll2,分為下面四種情況 1 test lib1 lib2 lib1編譯自己的 對lib2的部分,只需要lib2的標頭檔案,對lib2的 實現,使用佔位符關聯。生成test連線的時候,把lib1的 實現包含進來,再遞迴,把lib1中關聯lib2的 ...

靜態庫與動態庫相互呼叫

測試場景,test,lib1,lib2,dll1,dll2,分為下面四種情況 1 test lib1 lib2 lib1編譯自己的 對lib2的部分,只需要lib2的標頭檔案,對lib2的 實現,使用佔位符關聯。生成test連線的時候,把lib1的 實現包含進來,再遞迴,把lib1中關聯lib2的 ...

動態庫與靜態庫相互呼叫

解決了困惑我已久的問題 動態庫和靜態庫相互呼叫的問題。自 測試場景,test,lib1,lib2,dll1,dll2,分為下面四種情況 1 test lib1 lib2 lib1編譯自己的 對lib2的部分,只需要lib2的標頭檔案,對lib2的 實現,使用佔位符關聯。生成test連線的時候,把li...