ExpertiDict

C++ · Essencial · Inglês · Técnico

undefined reference

ˌʌn.dɪˈfaɪnd ˈɹɛf.ɹənssubstantivo

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

Veja também

Todos os termos de C++