Publicada por progc em 21/06/2006 - 23:46h:
* progc usa RedHat

Olá colegas!!

Estou desenvolvendo um programa em C para acesso ao MySql e recebo estes erros na compilação:

[root@asterisk1 gravou]# cc -o mph_gravou mph_gravou.c
/tmp/cciLbEAI.o(.text+0x4a): In function `main':
: undefined reference to `mysql_init'
/tmp/cciLbEAI.o(.text+0x73): In function `main':
: undefined reference to `mysql_real_connect'
/tmp/cciLbEAI.o(.text+0x9e): In function `main':
: undefined reference to `mysql_query'
/tmp/cciLbEAI.o(.text+0xb0): In function `main':
: undefined reference to `mysql_close'
/tmp/cciLbEAI.o(.text+0xd7): In function `main':
: undefined reference to `mysql_error'
/tmp/cciLbEAI.o(.text+0xea): In function `main':
: undefined reference to `mysql_errno'
collect2: ld returned 1 exit status
[root@asterisk1 gravou]#

Uso no código:

#include <stdio.h>
#include <mysql/mysql.h>

A mysql.h está em: /usr/include/mysql.h

Estou usando o linux CentOS (Asterisk)

Alguém sabe o que pode ser isto e como posso resolver?

Muito obrigado.

Adalberto.

  
 
Resposta de mmelosilva em 22/06/2006 - 00:24h:
* mmelosilva usa Debian
* mmelosilva tem conceito: nenhum voto.
 


progc, caso nao me falha a memoria voce precisa linkar as includes do mysql..

ja tentou compilar com o seguinte comando:

gcc -o mph_gravou mph_gravou.c -lmysq

ou

gcc mph_gravou.c -I/usr/local/mysql/include -L/usr/local/mysql/lib

caso continue os erros, poste-os para que outros users possam ajuda-lo tb

:)

 
Resposta de progc em 22/06/2006 - 12:35h:
* progc usa RedHat
* progc tem conceito: nenhum voto.
 


Olá Dark_lilo!!

Veja:

[root@asterisk1 gravou]# ls -al
total 32
drwxr-xr-x 2 root root 4096 Jun 21 22:23 .
drwxr-x--- 5 root root 4096 Jun 21 15:17 ..
-rw-r--r-- 1 root root 0 Jun 21 16:22 aaa
-rw-r--r-- 1 root root 34 Jun 21 15:20 arq1
-rw-r--r-- 1 root root 34 Jun 21 15:22 arq2
-rw-r--r-- 1 root root 1267 Jun 21 22:22 mph_gravou.c
-rwxr-xr-x 1 root root 5204 Jun 21 16:36 teste3
[root@asterisk1 gravou]# gcc -o mph_gravou mph_gravou.c -lmysq
/usr/bin/ld: cannot find -lmysq
collect2: ld returned 1 exit status
[root@asterisk1 gravou]# gcc mph_gravou.c -I/usr/local/mysql/include -L/usr/local/mysql/lib
/tmp/ccmvoVP8.o(.text+0x4a): In function `main':
: undefined reference to `mysql_init'
/tmp/ccmvoVP8.o(.text+0x73): In function `main':
: undefined reference to `mysql_real_connect'
/tmp/ccmvoVP8.o(.text+0x9e): In function `main':
: undefined reference to `mysql_query'
/tmp/ccmvoVP8.o(.text+0xb0): In function `main':
: undefined reference to `mysql_close'
/tmp/ccmvoVP8.o(.text+0xd7): In function `main':
: undefined reference to `mysql_error'
/tmp/ccmvoVP8.o(.text+0xea): In function `main':
: undefined reference to `mysql_errno'
collect2: ld returned 1 exit status
[root@asterisk1 gravou]# ls -al
total 32
drwxr-xr-x 2 root root 4096 Jun 22 11:22 .
drwxr-x--- 5 root root 4096 Jun 21 15:17 ..
-rw-r--r-- 1 root root 0 Jun 21 16:22 aaa
-rw-r--r-- 1 root root 34 Jun 21 15:20 arq1
-rw-r--r-- 1 root root 34 Jun 21 15:22 arq2
-rw-r--r-- 1 root root 1267 Jun 21 22:22 mph_gravou.c
-rwxr-xr-x 1 root root 5204 Jun 21 16:36 teste3
[root@asterisk1 gravou]#

Eu não tenho idéia do que está acontecendo.

Muito obrigado!!

Adalberto.

 
Resposta de filipe em 18/11/2006 - 10:29h:
* filipe usa Suse
* filipe tem conceito: nenhum voto.
 


Ola progc, como o dark_lilo falou seu problema está no processo de linkagem do programa. Basta incluir -lmysql no final da linha do gcc ou g++ que o problema será resolvido.

Se mesmo assim o problema persistir é porque você não tem instalado as libraries do mysql, procure em sua distribuição por mysql-shared e mysql-devel.

  


ATENÇÃO: Antes de contribuir com uma resposta, leia o artigo Qualidade de respostas e certifique-se de que esteja realmente contribuindo com a comunidade. Muitas vezes o ímpeto de contribuir nos leva a atrapalhar ao invés de ajudar.

Contribuir com resposta



CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
* Nota: só é possível enviar respostas usuário que possui conta e esteja logado com ela, caso contrário sua mensagem será perdida.



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts