• Jueves 16 de Mayo de 2024, 22:57

Autor Tema:  Error "undefined Reference To..."  (Leído 1013 veces)

almeria_new

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Error "undefined Reference To..."
« en: Miércoles 9 de Enero de 2008, 11:28 »
0
Hola a todos!
Lo primero presentarme y daros gracias por la ayuda que ofreceis a individuos como yo ;)
He googleado buscando este error y la mayoría de veces aparece al querer compilar alguna descarga o instalar algun programa y se comenta que es cosa del gcc.
El caso es que estoy intentando realizar una aplicación que usa conjuntamente ficheros de código C y C++. Los ficheros de C los puedo modificar a mis anchas, pero los de C++ usan algunas librerias y funciones que se me ha prohibido modificar.
Este error citado me aparece siempre relacionado a las llamadas que se hacen desde la Clase de C++ a métodos de C. Si no os importa, pongo la salida de consola:
host:~/Desktop/gop1 # make
gcc -c -I/usr/cxsc/include new_lst1_ari.cpp
gcc -c -I/usr/cxsc/include new_gop1.cpp
gcc new_lst1_ari.o new_gop1.o avl.o gop1_ex.cpp -o salida -I/usr/cxsc/include -L/usr/cxsc/lib -lcxsc
new_lst1_ari.o: In function `ArbolToVector(_nodo*, cxsc::ivector&, cxsc::intvector&)':
new_lst1_ari.cpp:(.text+0x5f7): undefined reference to `NumeroNodos(_nodo*, int*)'
new_gop1.o: In function `GlobalOptimize(DerivType (*)(DerivType const&), cxsc::interval, cxsc::real, _nodo*&, int&, cxsc::interval&)':
new_gop1.cpp:(.text+0x3ca): undefined reference to `NumeroNodos(_nodo*, int*)'
new_gop1.cpp:(.text+0x1515): undefined reference to `Insertar(_nodo**, double, double, double)'
new_gop1.cpp:(.text+0x1649): undefined reference to `Podar(_nodo**)'
new_gop1.cpp:(.text+0x16eb): undefined reference to `Insertar(_nodo**, double, double, double)'
new_gop1.o: In function `New_AllGOp1(DerivType (*)(DerivType const&), cxsc::interval, cxsc::real, cxsc::ivector&, cxsc::intvector&, int&, cxsc::interval&, int&, int)':
new_gop1.cpp:(.text+0x1b1b): undefined reference to `Podar(_nodo**)' collect2: ld returned 1 exit status



He puesto en negrita los metodos de C que son llamados desde la clase de C++. Y que creo que dan el citado error.
Si necesitais algún dato más nada mas pedirlo.
Gracias!!!

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Error "undefined Reference To..."
« Respuesta #1 en: Miércoles 9 de Enero de 2008, 14:30 »
0
¿Estas usando extern "C" delante de las declaracion de las funciones?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

almeria_new

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Error "undefined Reference To..."
« Respuesta #2 en: Miércoles 9 de Enero de 2008, 16:35 »
0
Creo que esta es una posible solución, almenos me compila ok
En los documentos hpp puse esto:
#include <cstdio>
extern "C" {
   #include "avl.h"
 }

Gracias!