0xAA55 发表于 2014-3-25 01:31:51

【DLL】【VS】为什么我编译DLL没有看到LIB文件

其实是因为你的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文件里。
页: [1]
查看完整版本: 【DLL】【VS】为什么我编译DLL没有看到LIB文件