做的是 C++教材上的普通示例。 就是将一个 cpp 文件分离成头文件和类定义函数和一个包含 main 函数的文件 但是我用终端运行的时候 提示如下所示问题
zaideMacBook-Air:VSCPP zaizai$ g++ /Users/zaizai/Desktop/VSCPP/6-5.cpp
Undefined symbols for architecture x86_64:
"GradeBook::inputGrades()", referenced from:
_main in 6-5-bfc560.o
"GradeBook::displayMessage()", referenced from:
_main in 6-5-bfc560.o
"GradeBook::displayGradeReport()", referenced from:
_main in 6-5-bfc560.o
"GradeBook::GradeBook(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:</char></char>
_main in 6-5-bfc560.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
一共有三个文件 GradeBook.h 头文件 GradeBook.cpp 包含头文件中的类定义函数 6-5.cpp 包含 main 函数的程序文件
求大神教教 翻了网上一圈都没找到怎么回事 呜呜呜
1
neoblackcap 2019-01-23 15:55:54 +08:00 via iPhone 1
你都分离了,你不用连接的么?
|
2
aa514758835 2019-01-23 15:57:27 +08:00 1
看不懂,不知道现在是代码错了还是编译的时候错了
|
3
xiadong1994 2019-01-23 16:05:09 +08:00 via iPhone 1
你只编译了 6-5.cpp ,GradeBook.cpp 没有编译,所以链接的时候找不到 GradeBook.cpp 里面的 symbol。
你试试 g++ -o GradeBook.o -c GradeBook.cpp g++ -o 6-5.o -c 6-5.cpp g++ -o 6-5.out GradeBook.o 6-5.o |
4
a505362678 OP @neoblackcap 蛤😳这样子的吗
|
5
a505362678 OP @xiadong1994 好的 我试试😳 小的给您磕头辣
|
6
a505362678 OP @aa514758835 😳新手还不会用 V2EX 的编辑器 不会贴图 所以不够详细
|
7
a505362678 OP @xiadong1994 😭谢谢 成功了
|