VC2010動態庫轉換為靜態庫

2021-07-16 14:07:25 字數 568 閱讀 9781

我有乙個生成動態庫的程式,生成的lib和dll可以被測試程式引用。但是因為工作需要,需要將改程式改為生成乙個靜態庫lib。我將程式中的

專案屬性-》配置屬性-》常規》配置型別改為靜態庫(.lib)

程式可以正確執行,並生成乙個lib檔案。但是測試程式引用該lib時,總是提示link錯誤。

mpcfaceeyedetect是我的庫函式。

後來發現是因為原來的**是生成動態庫,所以在.h中定義了

#ifdef mpc_base_export

#define mpc_api __declspec(dllexport)

#else 

#define mpc_api __declspec(dllimport)

#endif

在輸出的函式宣告時都加了mpc_api,上述定義是為了在dll檔案中輸出函式用的。但是改為靜態庫時就不需要了,將上述**都遮蔽後程式可以正確編譯了。

VC 載入動態庫和靜態庫

靜態庫包括.lib和.h檔案,在工程中使用靜態庫分為3步 1在工程中加入靜態庫,有兩種方法 方法一 專案設定中引用.lib,project setting link object library modules中新增.lib 需要在tools options設定正確的引用路徑 方法二 在專案中直接加...

靜態庫動態庫

靜態庫動態庫 靜態庫 是在執行程式之前就已經加入到執行 中,成為執行程式的一部分來執行的,字尾名 a 動態庫 是在執行程式啟動時載入到執行 中,字尾名 so 靜態庫和動態庫區別 動態庫編譯速度慢,執行速度快,但是生成的程式體積較大,占用記憶體,然而動態庫較易公升級,就布局而言,動態庫 不易布局,執行...

靜態庫動態庫

我們使用ls l的時候看到的除了看到檔名,還看到檔案的元資料 擁有的許可權 硬鏈結數 檔案所有者 組 大小 檔案最後修改時間 檔名ls l讀取儲存在磁碟上的檔案資訊,然後顯示出來 其實這個資訊除了通過這種方式來讀取,還有乙個sata命令能夠看到更多的資訊 這裡寫描述 上面的執行結果有幾個資訊需要解釋...