我有一个简单的程序,我完全从http://www.learncpp.com/cpp-tutorial/19-header-files/中的示例复制了它,因为我正在学习如何使用多个文件制作 c++ 程序。
该程序可以编译,但是在构建时,会出现以下错误:
/tmp/ccm92rdR.o:在 main 函数中:main.cpp:(.text+0x1a):未定义对“add(int, int)”的引用 collect2:ld 返回 1 个退出状态
这是代码:
主文件
#include <iostream>
#include "add.h" // this brings in the declaration for add()
int main()
{
using namespace std;
cout << "The sum of 3 and 4 is " << add(3, 4) << endl;
return 0;
}
添加.h
#ifndef ADD_H
#define ADD_H
int add(int x, int y); // function prototype for add.h
#endif
添加.cpp
int add(int x, int y)
{
return x + y;
}
有谁知道为什么会这样?
非常感谢你。