[visual-studio]视觉studio 9 不一致 Dll 联动

标签: Visual-Studio dll
发布时间: 2014/3/1 2:05:21
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

基本上的代码行

extern char *strlwr       OF((char *s));

给出错误

warning C4273: 'strlwr' : inconsistent dll linkage

我不知道为什么。它不是我的代码,所以我有问题找出如何修复它。

解决方法 1:

查找:

_declspec( dllexport );
_declspec( dllimport );

附加到 strlwr 的声明。它是与那做的东西。

基本上当你声明 strlwr 在 dll 本身,例如由代码读取包含 strlwr 的标头时编译到.dll 文件它应宣布出口。

当调用的 dll 的代码读取的头时,它应声明 dllimport。

我倾向于使宏块像:

#ifndef DLL_IFACE
#ifdef DLL_IFACE_EXPORT
#define DLL_IFACE _declspec( dllexport )
#else  // !DLL_IFACE_EXPORT
#define DLL_IFACE _declspec( dllimport )
#endif // !DLL_IFACE_EXPORT
#endif // !DLL_IFACE

然后是 dll 接口的一部分标头中的所有符号的我宣布与 DLL_IFACE 的那些符号。标头读取时由 dll 的代码,我开始与"#define DLL_IFACE_EXPORT"的.cpp 文件

赞助商