VS2005中编译dll未生产lib的原因及解决方法
2014-08-22 09:57
218 查看
原因可能有三个:
1)在Settings->Link中的General选项页中,选中了“Doesn't produce LIB”复选框。
2)整个动态链接库中没有导出的函数或类。
3)所有导出函数的实现均写在在头文件中。
解决办法:
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
如果工程文件夹中已经有模块定义文件(.def),请打开文件,检查第一行的包含dll的引用中,dll文件名是否与要生成的dll一致。
如果将其改成与dll文件名一致,但仍不能生成lib文件,就利用解决办法中的步骤新建一个def文件,然后把之前存在的def中的内容复制到新建的def中,重新编译生成。
1)在Settings->Link中的General选项页中,选中了“Doesn't produce LIB”复选框。
2)整个动态链接库中没有导出的函数或类。
3)所有导出函数的实现均写在在头文件中。
解决办法:
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
如果工程文件夹中已经有模块定义文件(.def),请打开文件,检查第一行的包含dll的引用中,dll文件名是否与要生成的dll一致。
如果将其改成与dll文件名一致,但仍不能生成lib文件,就利用解决办法中的步骤新建一个def文件,然后把之前存在的def中的内容复制到新建的def中,重新编译生成。
相关文章推荐
- mingw编译x264 dll时出现 "make[1]: lib: Command not found"的解决方法
- 编译时找不到libgsl.dll及libgslcblas.dll的解决方法
- libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll) 编译错误解决方法
- libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll) 编译错误解决方法
- vs2005编译dll没有lib文件的解决方法
- 在使用VS2005 + DXSDK9 + XP编译WebRTC出现dxguid.lib(dxguid.obj) : debugging informati问题的解决方法
- Eclipse不编译的原因和解决方法
- delphi 2007 for .net 中 建立DLL,编译时出现错误的解决方法.
- 关于VS2005编译wince Application 时缺少DLL问题的解决
- 编译程序出现一个: 可访问性不一致; 产生的原因和解决方法
- PerlRegEx正则编译不带pcrelib.dll的方法
- Opencv2.0 lib和dll的编译获取过程 以及 vs2005,vs2008配置过程
- 编译过程中弹出new(35) : error C2061: syntax error : identifier 'THIS_FILE'问题的原因及解决方法
- XAMPP下WinMySqlAdmin中Access violation at address 10002593 in module 'LIBMYSQL.dll'. Read of address 00000000.的解决方法
- vs2005 编译程序无法运行解决方法
- Opencv2.0 lib和dll的编译获取过程 以及 vs2005,vs2008配置过程
- vs2008编译时出现问题解决方法:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tma
- VS2005 DLL在部分机子加载不成功的解决方法
- VS2005的一个常见编译错误的解决方法
- vs2005 编译程序无法运行解决方法