0

我正在使用 msvc2010 将 dcmtk 3.6.3 构建到单个 dll 中,并使用 lib 链接到我的程序,并且库中定义的全局变量都报告未解析的外部符号。我使用 dumpbin 工具检查了 dll 和 lib 文件,发现这些全局变量实际上是导出的。导出的函数可以链接。

任何帮助表示赞赏。谢谢

这是 dcmtk.lib 文件中一个变量的转储文件

?EC_Normal@@3UOFConditionConst@@B (struct OFConditionConst const EC_Normal)

这是 dcmtk.dll 文件中一个变量的转储文件

6913 1B00 008F31A0 ?EC_Normal@@3UOFConditionConst@@B

这是 msvs2010 错误:

error LNK2001: unresolved external symbol "struct OFConditionConst const EC_Normal" (?EC_Normal@@3UOFConditionConst@@B)

在库中,.h 文件是:

extern DCMTK_OFSTD_EXPORT const OFConditionConst EC_Normal;
#define makeOFConditionConst(name, module, code, status, text) \
  const OFConditionConst name = { (module), (code), (status), (text) }

在 .cc 文件中是:

makeOFConditionConst(EC_Normal,                        0,  0, OF_ok,      "Normal");
4

0 回答 0