解决方法:未定义对"class::function"的引用
How to fix: undefined reference to "class::function"
我试图编译一个程序,在我这样做时遇到的一个错误是这样的:
g++ -o ./obj/Matriz2D.o ./src/Matriz2D.cpp -I./include -std=c++11
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../lib/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
/usr/bin/ld: /tmp/cc6kEtM3.o: in function `Matriz2D::Aniade(Secuencia)':
Matriz2D.cpp:(.text+0x4fd): undefined reference to `Secuencia::TotalUtilizados()'
/usr/bin/ld: Matriz2D.cpp:(.text+0x566): undefined reference to `Secuencia::Elemento(int)'
/usr/bin/ld: /tmp/cc6kEtM3.o: in function `Matriz2D::Inserta(int, Secuencia)':
Matriz2D.cpp:(.text+0x5bc): undefined reference to `Secuencia::TotalUtilizados()'
/usr/bin/ld: Matriz2D.cpp:(.text+0x6a0): undefined reference to `Secuencia::Elemento(int)'
/usr/bin/ld: /tmp/cc6kEtM3.o: in function `Matriz2D::Fila(int)':
Matriz2D.cpp:(.text+0x7b8): undefined reference to `Secuencia::Secuencia(int)'
/usr/bin/ld: Matriz2D.cpp:(.text+0x7ff): undefined reference to `Secuencia::Aniade(int)'
/usr/bin/ld: Matriz2D.cpp:(.text+0x814): undefined reference to `Secuencia::~Secuencia()'
/usr/bin/ld: /tmp/cc6kEtM3.o: in function `Matriz2D::Columna(int)':
Matriz2D.cpp:(.text+0x878): undefined reference to `Secuencia::Secuencia(int)'
/usr/bin/ld: Matriz2D.cpp:(.text+0x8bf): undefined reference to `Secuencia::Aniade(int)'
/usr/bin/ld: Matriz2D.cpp:(.text+0x8d4): undefined reference to `Secuencia::~Secuencia()'
collect2: error: ld returned 1 exit status
make: *** [makefile_sesion09.mak:74: obj/Matriz2D.o] Error 1
我试图从.cpp #include"Secuencia.h"中删除,从.h中删除
如果你不问,gcc 将尝试生成一个可执行的二进制文件。仅将 .o 扩展名指定到输出文件不会更改此设置。要只生成目标文件,您需要添加-c
开关:
g++ -c -o ./obj/Matriz2D.o ./src/Matriz2D.cpp -I./include -std=c++11
相关文章:
- VSCode - C++对"CLASS::FUNCTION"的未定义引用
- 如何从类成员函数返回指针,例如 size_t * class :: function(); 并使用类析构函数 ~size
- template<class T, int N> void h(T const(&)[N]); as friend function
- 在 C++ 中对"Class::function()"错误的未定义引用 [CLion IDE]
- Visual Studio 2019 中的"C linkage function cannot return C++ class"
- 对 Class::Class/Function 的未定义引用(OOP 中的初学者)
- 解决方法:未定义对"class::function"的引用
- C :将对象引用作为参数给出错误:呼叫class :: function()的匹配函数
- class function toString() C++
- 为什么我会看到"member function with the same name as its class must be a constructor"?
- C++:对 class::function() 的未定义引用
- 对 class::function 的未定义引用
- C++模板是否能够从父类"forward any class function"?
- Qt 5 C++ 对 Class::function(QString, Qstring, ..) 的未定义引用
- 对[class::function]的未定义引用/对[class]的typeinfo的未定义参考
- 'function'的外联定义与'Class'中的任何声明都不匹配
- 对'Class::Class(function)'的未定义引用
- 对 CLASS::function() 的未定义引用
- C++常见问题 32.8 "pass an object of a C++ class to/from a C function"问题
- Clang - 删除某些文件的"conversion function converting <A> to base class <B> will never be used"