(我使用的是Visual Studio,并且从未手动将目标文件链接到可执行文件中)
这是我的标题代码:
#ifndef U_H
#define U_H
typedef unsigned int uint;
typedef unsigned short ushort;
class U{
public:
static uint getX(char* a, uint b, ushort c);
static uint getY(char* a, uint b, ushort c);
static uint getZ(char* a, uint b, ushort c);
};
#endif
和源文件:
#include "U.h"
uint U::getX(char* a, uint b, ushort c){
//Stuff
}
uint U::getY(char* a, uint b, ushort c){
//Stuff
}
uint U::getZ(char* a, uint b, ushort c){
//Stuff
}
并在主要内容#include "U.h"
然后使用U::getY(a,b,c)
等调用上述内容。但是我收到以下错误:
1>main.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl getX(char *,unsigned int,unsigned short)" (?getX@@YAIPEADIG@Z)
1>main.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl getY(char *,unsigned int,unsigned short)" (?getY@@YAIPEADIG@Z)
1>main.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl getZ(char *,unsigned int,unsigned short)" (?getZ@@YAIPEADIG@Z)
我经常忘记源文件中的U::
部分,但这就是??
答案 0 :(得分:0)
这似乎是一个系统设置问题。这种事情曾经发生在我身上。无论如何,转到[Project] - > [设置] - > [链接] - > [启用增量链接],请在此处查看设置。上次当我遇到链接问题时,我将其更改为否并解决了问题。