最近项目中将在 C++ bulider中连接VC编译的lib库,如果直接去连接将出现问题,需要将vc的lib转换为c++builder支持的lib格式。
对于C++builder调用vc的静态库,不是很支持,毕竟在底层编译器都是有区别的,但是可以将vc的lib以动态库的方式提供,只要只需要函数注入调用就可以了,底层还是在使用vc的东西。
转换的方法有两种bcb提供的工具,一种是使用 coff2omf,一种是implib。
Coff2omf 是用于转换微软使用Coff格式的Lib 到Borland使用的 OMF格式的Lib。
coff2omf msxxx.lib bcxxx.lib
但是Coff2omf也有局限性,只能转换c写得lib,对于c++的lib有问题,而且vc新版本的编译器也不是支持的很好。
用C++Builder的implib工具生成DLL(VC生成DLL)对应的lib文件。
如:implib -a xxx.lib xxx.dll(注意,implib一定要带-a开关)。
生成lib文件之后,C++Builder便可以使用这个lib文件了。