vs2012生成动态库的时候,为什么不能生成lib文件
1个回答
2016-11-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
原因可能有三个:
1)在Settings->Link中的General选项页中,选中了“Doesn't produce.LIB”复选框。
2)整个动态链接库中没有导出的函数或类。
3)所有导出函数的实现均写在在头文件中。
自己检测一下。 如果实在找不到原因,可以参考如下两种方法
1、使用LoadLibrary加载DLL文件,通过GetProcAddress()来获取函数来执行。为了方便,还可以把这两个函数写成一个类。。方便写源码。
2、使用vc工具自己 手动生成
1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def
2、编辑 yourdll.def 文件,使之格式与.def文件格式一致。比如:
EXPORTS; fn1; fn2;
3、在命令行执行:
lib /def:yourdll.def /machine:i386 /out:yourdll.lib
1)在Settings->Link中的General选项页中,选中了“Doesn't produce.LIB”复选框。
2)整个动态链接库中没有导出的函数或类。
3)所有导出函数的实现均写在在头文件中。
自己检测一下。 如果实在找不到原因,可以参考如下两种方法
1、使用LoadLibrary加载DLL文件,通过GetProcAddress()来获取函数来执行。为了方便,还可以把这两个函数写成一个类。。方便写源码。
2、使用vc工具自己 手动生成
1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def
2、编辑 yourdll.def 文件,使之格式与.def文件格式一致。比如:
EXPORTS; fn1; fn2;
3、在命令行执行:
lib /def:yourdll.def /machine:i386 /out:yourdll.lib
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询