1、添加方法:添加—新建项—代码—模块定义文件。
最后生成解决方案,编译成功后可以在debug文件升正夹下发现def文件颤碧。
你新建一个MFC ActiveX ControlWizard 工程,就会自动生成一个.def文唤并件,内没颤容和察迹如下:*.def : Declares the module parameters.
LIBRARY "*.OCX"
EXPORTS
DllCanUnloadNow @1 PRIVATE
DllGetClassObject @2 PRIVATE
DllRegisterServer @3 PRIVATE
DllUnregisterServer @4 PRIVATE
有时候我们拿到一个dll库却没有相应的导入库又或者是我们有dll库却希望在MinGW或者Cygwin环境下使用氏戚团该库。这时候必须生成一个dll库的导入库(Win下dll库的导入库默认是以.lib结尾仔氏,MinGW下的导入库是以.a结尾)
这个转化需要两步:
1. 首先生成dll库的def文件
Windows + Visual Studio
下可以使用dumpbin(Visual Studio里自带),使用方法如下:
C:\>
dumpbin /EXPORTS filename.dll >filename.def
Windows + Cygwin(或者MinGW)
下可以使用歼橘pexports工具,使用方法如下:
$ pexports
filename.dll >filename.def
该工具的下载地址是:http://www.emmestech.com/software/pexports-0.43/download_pexports.html
(推荐使用pexports工具导出def文件,这样可以导出无需修改的def文件)
2. 利用dll库的def文件,最终生成导入库(微软的导入库是以.lib结尾,GNU环境下的导入库是以.a结尾)
然后再用MinGW或这Cygwin里自带的dlltool工具来生成导入库
$ dlltool -d filename.dll -d
filename.def -l filename.lib
或者
$ dlltool -d filename.dll -d
filename.def -l libfilenam
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)