首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

静态调用dll出现错误,求

2012-02-02 
静态调用dll出现异常,急求高手指点!自己编写了一个dlldll1.h#ifndef _WIN32_DLL_#define _WIN32_DLL_#ifde

静态调用dll出现异常,急求高手指点!
自己编写了一个dll
dll1.h
#ifndef _WIN32_DLL_
#define _WIN32_DLL_
#ifdef __cplusplus
extern "C"{
#endif

#ifdef _DLL_
#define DLL_FUNCTIONTYPE __declspec(dllexport)
#else
#define DLL_FUNCTIONTYPE __declspec(dllimport)
#endif

DLL_FUNCTIONTYPE int max(int a,int b);
DLL_FUNCTIONTYPE int min(int a,int b);

#undef DLL_FUNCTIONTYPE
#ifdef __cplusplus
}
#endif
#endif


//dll1.cpp
#include "dll1.h"
#define _DLL_
int max(int a,int b)
{
return a>b?a:b;
}
int min(int a,int b)
{
return a>b?b:a;
}
然后用另外一个(exe)应用程序调用该dll
并把dll1.h文件和dll1.lib复制到应用程序目录下;
出现问题:dll1.h文件中,int类型是意料之外的类型,所有的int都报错,
郁闷啊。。。。。。。

[解决办法]
.cpp中的函数前也需要加DLL_FUNCTIONTYPE
[解决办法]
在文件“dll1.cpp”中“#include "dll1.h"”语句的前面 加上
“#ifndef _DLL_
#define _DLL_
#endif

[解决办法]
最近在网上搜索了如何编写链接库和使用连接库的文章,并且进行了测试。可参考:http://blog.csdn.net/yousheng324/article/details/6687011

热点排行