- UID
- 1
- 精华
- 245
- 积分
- 76006
- 威望
- 744 点
- 宅币
- 24304 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 最后登录
- 2024-5-14
- 在线时间
- 2302 小时
- QQ
用户组: 管理员
一只技术宅
- UID
- 1
- 精华
- 245
- 威望
- 744 点
- 宅币
- 24304 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 在线时间
- 2302 小时
- 注册时间
- 2014-1-26
|
其实是因为你的DLL没有任何输出。你要做的就是在DLL的头文件加上以下几句:- #ifndef MY_DLL
- #define MY_DLL __declspec(dllimport)
- #else
- #define MY_DLL __declspec(dllexport)
- #endif
复制代码 请把上面的“MY_DLL”换成“自己的DLL名字_DLL”
然后在你的CPP文件的#include"你的DLL头文件.H"前面加上一句#define MY_DLL __declspec(dllexport)
然后在你想要导出的符号(函数、变量、类)前声明为MY_DLL,比如我想导出以下的函数:
int dllfunc(int a);
我就要在DLL的头文件把它声明为
MY_DLL int dllfunc(int a);
然后把这个函数的实现部分写到C、CPP文件里。
比如我想导出以下变量:
int foo;
我就要在DLL的头文件把它声明为
MY_DLL int foo;
然后把这个变量的定义写到C、CPP文件里:int foo;
比如我想导出以下类:
class bar;
{
protected:
int m_nCount;
public:
void foobar(int a);
}
我就要在DLL的头文件把它声明为
class MY_DLL bar;
{
protected:
int m_nCount;
public:
void foobar(int a);
}
然后把其中不需要公开、不需要内联优化、比较复杂的函数的实现写到CPP文件里。
|
|