c++ dll中未解析的外部函数

unresolved externals in C++ DLLs

本文关键字:外部 函数 dll c++      更新时间:2023-10-16

我正试图开发一个可以实例化的DLL,然后在调用之间保持其数据。我做这件事已经很多年了,所以我遇到了很多问题。首先,我这样声明DLL:

namespace LibTest {
class TestClass
{
public:
    static void __declspec(dllexport) initialize();
    static void __declspec(dllexport) add(double v);
    static double __declspec(dllexport) report();
protected:
    static double DV;
};

}

和DLL代码看起来像:

namespace LibTest {
 void TestClass::initialize()
{
    DV = 0;
 }
 void TestClass::add(double v)
{
    DV = DV+v;
 }  
 double TestClass::report()
{
    return DV;
 }

}

当我试图用Visual Studio编译它时,它报告了一个"未解决的外部"。
这里有几个问题a.我是否有权申报我需要做的事情?(在调用之间保留变量)B.如何解决外部引用

正如我提到的,我已经很多年没有编程了,所以任何帮助都将是非常感激的。

忘记声明成员变量:

    double TestClass::DV;

编辑:这应该在命名空间LibTest中,当然