如何定义正确设置 __declspec 的宏

How to define macro which correctly sets the __declspec

使用 Visual Studio 2017,我正在尝试构建导入库的最新项目,库又从 .dll 文件导入方法和函数。

在构建我的项目时,我得到了如下错误列表:

error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl UserTracking(void *)" (__imp_?UserTracking@@YAXPEAX@Z)
error LNK2001: unresolved external symbol "public: bool __cdecl EACServer::Destroy(void)const " (?Destroy@EACServer@@QEBA_NXZ)
error LNK2001: unresolved external symbol "public: bool __cdecl EACServer::Initialize(void)const " (?Initialize@EACServer@@QEBA_NXZ)
...

列出的所有函数均来自导入库。

例如,EACServer::Initialize 方法定义为 EACServer.h:

bool Initialize() const;

在我正在编译的代码中,这个函数是这样使用的(相应的头文件在.h文件ofc中导入):

this->eacServer = EACServer();
this->eacServer.Initialize();

EACServer的class定义是基本的:

class EACServer : IRoot {
    ...
}

我被告知抛出这些错误是因为我缺少正确设置 __declspec 的宏。

如何find/implement这个宏?

原来虽然我在链接器附加库目录中添加了我的库的路径,但我忽略了在链接器附加依赖项中添加 .lib 文件。