结构的LNK 2001错误
我有一个h-和一个cpp文件,在我的许多项目中使用了一些计算。
现在我尝试将它们放在一个单独的dll中,因此文件不应包含在每个项目中。
链接时,我得到一个结构的LNK2001(未解析的符号)错误,但是lib和dll是在正确的位置。
我用
#ifdef TOOLS_EXPORTS
#define TOOLS_API __declspec(dllexport)
#else
#define TOOLS_API __declspec(dllimport)
#endif
宏,适用于几种方法。
结构就是这样定义的
TOOLS_API typedef struct {
char Name[128];
} uTSystem;
在使用dll的结构文件中,它也正确定义了(?)
extern uTSystem ABC;
错误消息是:
error LNK2001: Nichtaufgeloestes externes Symbol "struct uTSystem ABC" (?ABC@@3UuTSystem@@A)
任何提示?谢谢
没有找到相关结果
已邀请:
1 个回复
刷遍派戳
。在您的代码中,您将其定义为
这对于与消费DLL共享的头文件是可以的。 虽然extern声明存在变量ABC,但您必须在其中一个.cpp文件中定义它:
前面没有
。您的文件可能如下所示: ---- tools.h ----
---- tools.cpp ----