'dllimport' 属性仅适用于变量、函数和 classes 警告,即使适用于 class 函数

'dllimport' attribute only applies to variables, functions and classes warning even though applied to class function

我正在移植到最新的 c++ Builder 11 (Clang) 编译器,我 运行 收到一个我不明白的警告

警告:

'dllimport' attribute only applies to variables, functions and classes

简化代码:

class Test
{
   public:

   Test() ;

   int __declspec(dllimport) (*DllFunction)  (int a, int b) ;

} ;

并且在构建过程中(例如)我加载了 dll 并找到了 DllFunction

的指针

这个一个函数,所以..为什么会出现警告? 我没有得到什么?

你不能 dllimport 没有 dllimport 的成员函数 - 在整个 class - 这是你的 dllimport 应该在的地方。

如错误消息所述,dllimport 不能用于导入单个 class 方法。只有 standalone 变量和函数,以及 whole classes。但是,dllimport 仅用于 静态链接 ,但您使用的是 动态加载 ,因此无需使用 dllimport 在这段代码中。