Out-of-series #7 – O que fazer quando uma biblioteca em C não funciona em C++?

Olá a todos!

Esses dias me aconteceu uma coisa um tanto quanto inusitada. Eu tinha lá uma biblioteca em C, que funcionava legalzinha. Fiz alguns testes com ela, fiz alguns programas de teste e tudo ok. Mas quando fui integrá-la com o aplicativo principal em C++… sempre dava erro de referência! Apesar de ter configurado o linker, ele não encontrava as funções da biblioteca…

A biblioteca em questão foi a fprint. A princípio, meu código estava assim:

O comando pra compilar foi o seguinte:

Mas quem disse que funcionava? O compilador me retornava a mensagem “undefined reference to ‘fp_init()’” e “undefined reference to ‘fp_exit()’“. Depois de revirar a Internet, descobri que ao utilizar uma biblioteca feita em C, em uma aplicação C++, você precisa explicitar isso. Dessa forma, meu código ficou assim:

E pronto. Tudo resolveu-se!

Espero ter ajudado, e em breve retorno com mais posts (estou provisoriamente sem computador… :().

Abraço a todos!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.