0
基本的代码视觉工作室9不一致的Dll联动
extern char *strlwr OF((char *s));
行给出了错误
warning C4273: 'strlwr' : inconsistent dll linkage
,我不知道为什么。这不是我的代码,所以我有问题找出如何解决它。
基本的代码视觉工作室9不一致的Dll联动
extern char *strlwr OF((char *s));
行给出了错误
warning C4273: 'strlwr' : inconsistent dll linkage
,我不知道为什么。这不是我的代码,所以我有问题找出如何解决它。
寻找:
_declspec(dllexport);
_declspec(dllimport);
附着的声明strlwr。这与此有关。
基本上,当你在dll本身声明strlwr时,例如当包含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接口I声明这些符号与DLL_IFACE的一部分的所有的符号。当通过dll代码读取头文件时,我使用“#define DLL_IFACE_EXPORT”启动.cpp文件。
感谢您的帮助。工作得很好。 – SSEMember 2012-07-09 15:06:47