vc靜態庫編譯
A. 關於VC++6.0編譯靜態庫再次調用的時候符號沖突
把你的靜態庫函數名個性化一點。
B. VC++6.0如何設置才能靜態編譯
你在初建的時候有個靜態調用dll還是動態調用dll,如果沒選,默認好像是動態調用,如果你想改為靜態調用就需要自己配製。修改一般可以配置一下兩項:
1.項目 -> 配置屬性->常規->MFC的使用 :在靜態庫中使用MFC。
2.項目 -> 配置屬性->C/C++->代碼生成->運行庫 :選擇/MT。
C. 如何判斷一個VC++編譯的靜態庫是x64編譯的還是x86編譯的呢
使用mpbin程序,根據輸出結果可以判斷出來。例如:
mpbin /headers cv210.dll
You're looking at PE and 32BIT specifically.
Any CPU:
PE: PE32
32BIT: 0
x86:
PE: PE32
32BIT: 1
x64:
PE: PE32+
32BIT: 0
D. VC2010 怎麼同時生成靜態庫和動態庫
想編譯一次就生成兩種動態庫貌似是不可行的。
用編譯選項可以達到,還好調試啊。
E. 如何在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編譯器之間存在差異
F. 在vc的動態庫里能鏈接用linux編譯的靜態庫嗎
不行
你得讓那人 把 linux上的靜態庫的源代碼 改一改 移植到 win上 用vc編譯成win上的靜態庫
這樣你在vc里才能連接 那庫
G. QT程序怎麼調用vc,編譯的靜態庫,動態庫等
mingw編譯出來的靜態庫後綴名為.a,編譯出來的動態庫的導入庫後綴名為.dll.a,而在windows下後綴名為.lib的庫可能是靜態庫也可能是動態庫的導入庫。 mingw編譯出來的動態庫的導入庫可以直接在vc中直接使用
H. 求vc6.0下 openssl 已編譯好的靜態庫
載入庫,然後就可以使用庫里導出的函數了.就像你include<stdio.h>一樣,就可以使用stdio庫里的函數了.載入庫的方法有很多,你可以查一下.