最近在尝试着使用DLL 发现如下两个问题,做个记录:
首先warning : inconsistent dll linkage:
在vs 工程中使用dllimport 导致出现上面的警告
(不知道这两个有什么区别?)
变更为dllexport警告消失,但出现新的问题,导出的符号是乱码无法使用,
发现是我们的文件原本是c写的,只是把文件名该为了。cpp 后来在导出文件中加入
# ifdef __cplusplus
extern "C" {
# endif // __cplusplus
导出符号即正常了
另外如何查看DLL 导出了那些函数呢?
在VS2005 里面有个命令行工具dumpbin.exe,
在dumpbin 的根目录下(命令行)敲:
dumpbin.exe /exports test.lib 即可以看到导出的函数名称了
第一次使用DLL 真是费了不少功夫啊