0

インスタンス化できる 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 でコンパイルしようとすると、「未解決の外部」が報告されます。
ここでいくつか質問があります。私は何をする必要があるかを宣言する権利を持っていましたか?(呼び出し間で変数を保持する) b. 外部参照を解決する方法

前述したように、プログラミングを行ってから何年も経っていますので、どんな助けでも大歓迎です。

よろしく

チェン

4

1 に答える 1

0

メンバー変数を宣言するのを忘れました:

    double TestClass::DV;

LibTest編集:もちろん、これは namespace 内にある必要があります

于 2013-01-17T01:43:27.817 に答える