C++ - /tmp/cckpbRW.o:main.cc:(.text+0x9d):未定义的参考
按照此处的示例: http://www.learncpp.com/cpp-tutorial /19-header-files/
与 add.h
和 main.cpp
有关
当我尝试编译 main.cc (我刚刚使用了另一个扩展名)时,我得到以下信息:
/tmp/cckpbRW.o:main.cc:(.text+0x9d):undefined reference to 'add(int, int)' collect2: ld returned 1 exit status
我该如何解决此问题?
谢谢。
Following the example here: http://www.learncpp.com/cpp-tutorial/19-header-files/
Relating to add.h
and main.cpp
When I try to compile main.cc (I just used another extension), I get the following:
/tmp/cckpbRW.o:main.cc:(.text+0x9d):undefined reference to 'add(int, int)' collect2: ld returned 1 exit status
How can I fix this issue?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您没有将您的
main
对象链接到您的add
对象,因此当链接器尝试构建可执行文件时,它无法找到符号add(int, int)
它使用。您应该编译
main
对象、add
对象并将它们链接在一起,如下所示:否则
这会将 add.cpp 和 main.cpp 一起编译
Your didn't link your
main
object to youradd
one, so when the linker tries to build the executables it cannot find the definition of symboladd(int, int)
it uses.You should compile
main
object,add
object and link them together, like this:or
this will compile add.cpp and main.cpp together
看起来您没有将第二个
.cpp
文件链接到最终的可执行文件中。要么同时编译并链接它们:要么单独编译它们然后链接:
Looks like you are not linking the second
.cpp
file into final executable. Either compile and link them at the same time:or compile them separately and then link: