C++ · Essencial · Inglês · Técnico
undefined reference
Erro do linker que indica que um símbolo foi declarado e usado, mas nenhuma definição foi encontrada nos objetos e bibliotecas linkados. Surge depois de a compilação já ter passado.
Onde usar
Costuma aparecer quando falta adicionar um .cpp ao build, a biblioteca ao link ou a definição de uma função declarada. Ler o nome do símbolo no erro indica o que falta.
Em código
int soma(int, int); // só declarada
int main() { return soma(1, 2); }
// g++ main.cpp
// undefined reference to `soma(int, int)'Exemplos
It compiles, but I get an undefined reference to Foo::bar.
Compila, mas recebo um undefined reference para Foo::bar.
Add the library to the link command to fix the undefined reference.
Adicione a biblioteca ao comando de link para resolver o undefined reference.
Cuidado
Não é erro de sintaxe nem de include: o código compila, o que falta é a definição na etapa de link.
Sinônimos
símbolo não resolvido