"undefined reference"非常简单的C ++程序中的错误
"undefined reference" error in a very very simple c++ program
我有一个简单的程序,我完全从http://www.learncpp.com/cpp-tutorial/19-header-files/中的示例复制,因为我正在学习如何使用多个文件制作c++程序。
程序编译,但在构建时,出现以下错误:
/tmp/ccm92rdR。在main函数中:Main.cpp:(.text+0x1a):对add(int, int)的未定义引用Collect2: ld返回1退出状态
代码如下:
main.cpp
#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;
}
add.h
#ifndef ADD_H
#define ADD_H
int add(int x, int y); // function prototype for add.h
#endif
add.cpp
int add(int x, int y)
{
return x + y;
}
有人知道为什么会这样吗?
代码几乎完美。
在add.cpp
中添加一行#include "add.h"
。
将这些文件编译为g++ main.cpp add.cpp
,它将产生一个可执行的a.out
你可以以./a.out
的形式运行这个可执行文件,它会输出"3和4的总和是7";(不带引号)
当有许多。c或。cpp源代码并且其中一些未编译时,可能会出现未定义引用。
关于如何做到这一点的一个很好的"一步一步"的解释是在这里
相关文章:
- C++程序错误:malloc():内存损坏
- C++ Windows 凭据提供程序错误屏幕
- 程序错误地读取了二进制文件的一个字节
- Cmake无法在qt-creater/collect2上编译简单的测试程序:错误:ld
- C 程序错误
- SDL 应用程序错误:“if”之前应为非限定 id
- C++程序错误
- Apache IGNITE编译ODBC驱动程序错误
- 二进制搜索树操作程序错误:分割故障(核心倾倒)
- Cygwin1.dll c++ 应用程序错误
- 无法编译任何C++程序;错误:未知类型名称'uint8_t'
- 带有结构和指针的程序错误(结构,C++)
- 矩阵运算C++运算符重载程序错误
- ilmerge后C /CLI应用程序错误
- SDL 2.0-无效的呈现程序错误
- 如何使用 C# 在网页 asp.net 显示 C 程序错误
- OPENCV:image_proc中的 PCA 应用程序错误
- C++程序错误 - 虚拟析构函数
- LNK2020 C 程序错误
- 程序错误,由于在VS2010中使用std::unique_ptr