之前的博文: https://blog.csdn.net/phy0292/article/details/52531983 講到了BCB如何調用VC編譯的DLL,做一下補充。
有時VC編譯DLL後,用coff2omf把它的LIB文件轉換成BCB的LIB還是無法使用,原因是BCB要求LIB中的C函數名要有下劃線開頭,而VC有時設置編譯時導出的函數沒有以下劃線開頭,所以BCB鏈接時會提示沒有這些函數。
解決辦法是用implib.exe直接從dll得到lib,如下所示:
implib -c -aa XXXXX.lib XXXXX.dll
-c 表示區分大小寫,不然會全變成大寫名稱
-aa 表示強制給導出的函數都加上下劃線,如果dll裏的名稱本來就都是以下劃線開頭的那麼就不用這個選項
XXXXX.lib 是得到的lib文件
XXXXX.dll 是VC編譯得到的dll文件