类上的__declspec(dllimport)如何影响类的函数?

时间:2015-03-18 00:43:46

标签: c++ windows dll inline dllimport

以下MCVE使用mingw-w64 4.9.2:

发出警告
struct __declspec(dllimport) S
{
    int   foo() { return func(); }
    int   func();
    void  other_func();
};

inline int S::func() { return 1000; }

int main() {}

警告是:

dt.cc:9:5: warning: 'int S::func()' redeclared without dllimport attribute
           after being referenced with dll linkage
inline int S::func() { return 1000; }
    ^

我的问题是:报告的问题到底是什么,我应该对此做些什么(例如提交错误报告)?

如果我将int func();更改为inline int func();,警告就会消失 - 不确定这是什么意思。

背景:此模式出现在名为POCO的C ++库中的许多地方。该类有一些函数,它们的主体在DLL中(例如other_func)和一些函数,它们的主体出现在头文件中(例如func)。

0 个答案:

没有答案