刚开始使用 C++,我就遇到了无穷无尽的麻烦。似乎无论我做什么,我都会遇到很多错误。我已经开始编译教程中的示例代码,但即使是示例代码也无法编译。例如,代码位于: http://www.cppgameprogramming.com/cgi/nav.cgi?page=arrayclasses
当我尝试:
$ g++ main.cpp -o dog
它说:
> main.cpp: In function 'int main()': main.cpp:18:15: warning: deleting
> array 'Dog myDogs [5]'
> C:\Users\bob-pc\Appdata\Local\Temp\ccTXXCOB.o:main.cpp:(.text+0x21):
> undefined rference to 'Dog::Dog()' C:\Users\bob-pc\Appdata\Local\Temp\ccTXXCOB.o:main.cpp:(.text+0x59):
> undefined rference to 'Dog::setAge(int)' C:\Users\bob-pc\Appdata\Local\Temp\ccTXXCOB.o:main.cpp:(.text+0x88):
> undefined rference to 'Dog::getAge()' collect2: Id returned 1 exit status
这不是我第一次尝试直接复制示例代码并编译它。即使在我复习了语法之后我也遇到了很多麻烦,但我似乎无法让标题和库正常工作。非常感谢任何帮助。
最佳答案
你必须在编译中包含dog.cpp
:
g++ main.cpp dog.cpp -o dog
或者,您可以将dog.cpp
自身编译成目标文件,并将其包含在最终编译中:
g++ dog.cpp -c -o dog.o
g++ main.cpp dog.o -o dog
关于c++ - 我使用 gcc 错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977492/