當前位置:編程學習大全網 - 編程軟體 - 如何在vc中使用mingw編譯出來的動態庫和靜態庫

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

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

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

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

這樣妳就不需要生成壹個.lib後綴的動態庫的導入庫了,網上也有如何從.dll生成.lib的方法。

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

使用靜態庫的好處是發布的應用程序組件模塊裏不需要帶上相關的dll,如果要使用mingw編譯出來的靜態庫,可以如下:

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

但是僅僅鏈接這麽壹個靜態庫是不夠的,妳還需要鏈接

libgcc.a

libmingwex.a

妳可能還需要鏈接libmsvcrt.a

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

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

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

  • 上一篇:計算機專業的出來可以做什麽工作?
  • 下一篇:如何防止犀牛在凹凸面上滑行?
  • copyright 2024編程學習大全網