在做项目时,一个项目引用另一个项目时,引用.h后发现.cpp没有链接上,会报错,具体为 某些函数无法识别。虽然被引用的项目是生成dll,但是包含此dll也不能正常使用,最后发现原因是由于被引用项目的类没有被导出,类导出即要生成静态库.lib,然后其他项目链接上此.lib后才会正常使用。
1.导出函数
新建“win32项目”,在“应用程序设置”中选择dll。新建commendll.h和commendll.cpp两个文件。commendll.h中
-
namespace CommenDLL
-
{
-
class MathFun
-
{
-
public:
-
static __declspec(dllexport)double Add(double a, double b);
-
static __declspec(dllexport)double Minus(double a, double b);
-
};
-
}
commendll.cpp中
-
namespace CommenDLL
-
{