实际上我一直在搜索我的错误,我找到了大量的解决方案,但他们无法解决我的问题,可能这很容易,但我无法处理......
/* header */
class EmployeeRegister
{
private:
EmpReg *Emp;
public:
EmployeeRegister(int,int);
};
/* cpp file*/
EmployeeRegister::EmployeeRegister(int a,int b)
{
cout << "Result : " << a+b << endl;
}
/* in main file*/
EmployeeRegister Sub(1,1);
当我这样做或类似的事情时,我得到:
main.obj:-1: error: LNK2001: unresolved external symbol "public:
__thiscall EmployeeRegister::EmployeeRegister(int,int)"
(??0EmployeeRegister@@QAE@HH@Z)
实际上我确定这很容易,但我错过了什么?
编辑:它已修复,链接器无法找到我的.cpp文件。
答案 0 :(得分:2)
确保您的非主.cpp文件在项目中(或在链接器命令行中)列出,以便它可以与您的main.cpp正确链接
答案 1 :(得分:1)
因为你是新手,
请提及您如何构建项目。 您应该编译main.cpp和EmployeeRegister.cpp并链接main.o和EmployeeRegister.o文件。
g++ -c Main.cpp
g++ -c EmployeeRegister.cpp
g++ -o binaryname Main.o EmployeeRegister.o