链接器看不到的C ++公共/私有静态变量

时间:2016-08-15 16:55:12

标签: c++ static

我使用笔记本离家出走。 我安装了Microsoft VS Community 2015和Microsoft VS 2013 Express。 我在两个IDE上都得到了相同的错误。 我已经尝试了两个符合条件的“++ GlobalLineCount :: glCount”和不合格的“++ glCount”。 如果有一些看不见的角色,我已经重新输入了文本。 我没有使用预编译的头文件。 我已经尝试过glCount作为公共和私人。 这是纯C ++。 此代码按原样失败。 它是一个更大的程序的提取,也失败了同样的错误。 较大的程序使用Microsoft VS Community 2015在我的家用PC上进行编译和链接。 因为较大的程序在我的家用电脑上正常运行但在笔记本电脑上没有,我怀疑安装的IDE或配置。 目前,我距离家用电脑1500英里,所以无法做任何事情。 提前谢谢。

我的错误:

TestGlobalLineCount.obj:错误LNK2001:未解析的外部符号“public:static unsigned __int64 GlobalLineCount :: glCount”(?glCount @ GlobalLineCount @@ 2_KA)

我的代码:

#include <stdint.h>
#include <stdio.h>
#define MODULE_WHO_AM_I "TGLC"
class GlobalLineCount
{
public:
    static uint64_t getNextGLC(void)
        { return ++GlobalLineCount::glCount; } 
    static uint64_t glCount;
};
int main()
{
    printf("%-5s %4d %6llu - Test Start\n",
        MODULE_WHO_AM_I, __LINE__, GlobalLineCount::getNextGLC());
    return 0;
}

0 个答案:

没有答案