Clion错误体系结构x86_64的未定义符号:

嗨,我是编码和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

谢谢

zhuzhihaolf1 回答:Clion错误体系结构x86_64的未定义符号:

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2937905.html

大家都在问