kak*_*ush 70 c++ cross-compiling undefined-reference
我正在使用交叉编译器.我的代码是:
class WindowsTimer{
public:
WindowsTimer(){
_frequency.QuadPart = 0ull;
}
private:
static LARGE_INTEGER _frequency;
};
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
对WindowsTimer :: _ frequency'的未定义引用
我也尝试将其改为
LARGE_INTEGER _frequency.QuadPart = 0ull;
Run Code Online (Sandbox Code Playgroud)
要么
static LARGE_INTEGER _frequency.QuadPart = 0ull;
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误.
有谁知道为什么?
Ed *_*eal 88
您需要_frequency
在.cpp文件中定义.
即
LARGE_INTEGER WindowsTimer::_frequency;
Run Code Online (Sandbox Code Playgroud)
Rag*_*ram 19
如果在类中声明了一个静态变量,那么你应该像这样在cpp文件中定义它
LARGE_INTEGER WindowsTimer::_frequency = 0;
Run Code Online (Sandbox Code Playgroud)
Zhe*_*Hao 12
使用C ++ 17,您可以声明inline变量,而无需再在cpp文件中定义它。
inline static LARGE_INTEGER _frequency;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57617 次 |
最近记录: |