嗨,我是编码和C ++方面的新手,我正在一个项目上,但是我无法构建和运行它,因此出现此错误
[ 25%] Building CXX object CMakeFiles/HW2.dir/Grades.cpp.o
[ 50%] Linking CXX executable HW2
Undefined symbols for architecture x86_64:
"Student::_allgrades",referenced from:
Student::addgrade(int) in main.cpp.o
Student::removegrade(int) in main.cpp.o
Student::~Student() in main.cpp.o
_main in main.cpp.o
Student::addgrade(int) in Student.cpp.o
Student::removegrade(int) in Student.cpp.o
Student::~Student() in Student.cpp.o
...
"Student::_maxgrade",referenced from:
Student::addgrade(int) in main.cpp.o
Student::removegrade(int) in main.cpp.o
Student::~Student() in main.cpp.o
_main in main.cpp.o
Student::addgrade(int) in Student.cpp.o
Student::removegrade(int) in Student.cpp.o
Student::~Student() in Student.cpp.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [HW2] Error 1
make[2]: *** [CMakeFiles/HW2.dir/all] Error 2
make[1]: *** [CMakeFiles/HW2.dir/rule] Error 2
make: *** [HW2] Error 2
main.cpp
#include "Student.cpp"
using namespace std;
int main()
{
Student::_allgrades[100] = {0};
Student::_maxgrade = -1;
Student s1("sarah","336445");
s1.addgrade((100));
s1.isfail();
s1.print();
Student s2("noam","12345");
s2.print();
我还有一个很长的班级名称Student(Student.cpp,Student.h),所以请告诉我是否有帮助
CMakeList.txt
project(HW2)
set(CMAKE_CXX_STANDARD 14)
add_executable(HW2 main.cpp Student.cpp Student.h cmake-build-debug/Grades.cpp cmake-build-debug/Grades.h)
我正在使用Mac,Clion 2019.3
谢谢