如何在vc中使用mingw編譯出來的動態庫和靜態庫

2021-06-20 11:07:58 字數 551 閱讀 1413

mingw編譯出來的靜態庫字尾名為.a,編譯出來的動態庫的導入庫字尾名為.dll.a,而在windows下字尾名為.lib的庫可能是靜態庫也可能是動態庫的導入庫。

mingw編譯出來的動態庫的導入庫可以直接在vc中直接使用,例如

#pragma comment(lib, "libx264.dll.a")

這樣你就不需要生成乙個.lib字尾的動態庫的導入庫了,網上也有如何從.dll生成.lib的方法。

如果鏈結了動態庫的導入庫libpthread.dll.a,你發布的應用程式就要帶上pthread的dll。

#pragma comment(lib, "libx264.a")

但是僅僅鏈結這麼乙個靜態庫是不夠的,你還需要鏈結

libgcc.a

libmingwex.a

你可能還需要鏈結libmsvcrt.a

否則會報一堆錯誤:error lnk2001: 無法解析的外部符號

上面的這些庫在c:\mingw\lib目錄或子目錄下面可以找到。

鏈結這些庫的原因是mingw使用的gcc編譯器和vc編譯器之間存在差異

如何在VC 中使用API直接列印

在visual c 中,應用程式通常是使用cview中提供的列印功能,在onprint 或ondraw 中向印表機輸出。但是對於對話方塊中的資料,或基於對話方塊的程式,列印成了一件繁瑣的工作。該段 向使用者提供了printlistctrl 函式,用於列印使用者在對話方塊或formview中的clis...

如何在VC中使用DbgViewer列印資訊

dbgviewer是乙個很好的列印工具,在mfc下,直接使用outputdebugstring函式就可以列印資訊了,例 退出系統 outputdebugstring 正在退出系統.如果你使用的是win7系統,那麼得更改下登錄檔才能正常顯示列印,更改的登錄檔內如下 windows registry e...

如何在VC6 MFC中使用GDI

gdi 可應用於二維向量圖象,柵格圖象及排版,是為c c 程式設計師而設計的表現為c 類而存在的介面,能用於一切基於windows的應用中。作為gdi的後繼者,gdi 在gdi中增加了新功能,如文字的反鋸齒,漸變筆刷,alpha溶合 也優化了gdi許多已有的功能。此外,gdi 改變了程式設計模式,使...