<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Estimado Steven, muchas gracias por tus comentarios.<br><br>Fíjate que precisamente abía contemplado el echo de usar una función echa en C dentro de un programa C++. Por lo tanto mi archivo cabecera (funciones.h) ya contiene lo que me recomiendas.<br>-----------------------------------------------------------------<br>/*funciones.h*/<br>#ifndef _FUNCIONES_H_<br>#define _FUNCIONES_H_<br><br>#ifdef __cplusplus<br>  extern "C" {<br>#endif<br><br>void OperacionesArchivo(void);<br>...<br><br>#ifdef __cplusplus<br>  }<br>#endif<br><br>#endif /* _FUNCIONES_H_ */<br><br>/*****************************************/<br><br>/*funciones.c*/<br>#include "funciones.h"<br><br>void
 OperacionesArchivo(void)<br>{<br>...<br>}<br><br>/*****************************************/<br><br>/*TMiPrograma.cpp*/<br>#include "funciones.h"<br><br>...<br><br>void __fastcall TFormaMiPrograma::Button1Click(TObject *Sender)<br>{<br>    OperacionesArchivo();<br>}<br><br>-----------------------------------------<br>Estoy un poco consternado, por que supuestamente estoy haciendo las cosas tal cual las estoy leyendo.<br><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Mensaje original ----<br>De: Steven Davidson <steven@conclase.net><br>Para: cconclase@listas.conclase.net<br>Enviado: jueves, 22 de febrero, 2007 15:38:03<br>Asunto: Re: [C con Clase] Unresolved external symbol referenced from module<br><br><div>Hola Abraxas,<br><br>El pasado 2007-02-22 18:03:32, ERVA escribió:<br><br>E> Hola, estoy haciendo un programita en C++ Builder. Tengo una unidad (*.cpp) y le agrego una cabecera (*.h) que
 implementa algunas funciones que uso (OperacionesArchivo, *.c). Pero al momento cuando la compilo me lanza el siguiente error:<br>E> [Linker Error] Unresolved external '_OperacionesArchivo' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\MIPROGRAMA.OBJ<br>E> Me pueden decir por que me lanza ese error y como es posible solucionarlo.<br><br>Sospecho que el problema está en que usas una función de C en un programa de C++. Deberías modificar tu fichero de cabecera de esta manera,<br><br>// funciones.h<br><br>#ifdef __cplusplus<br>extern "C" {<br>#endif<br><br>void OperacionesArchivo( void );<br>...<br><br>#ifdef __cplusplus<br>}<br>#endif<br><br>Lo que hacemos es decir al compilador y enlazador que trate el contenido entre llaves de 'extern "C"' como si fuese código escrito en C. Bajo C++, los nombres de ciertas entidades son modificadas; esto se llama decoración o codificación. Bajo C, esto no suele ser el caso. Por lo tanto, los nombres no coinciden,
 y el enlazador se queja.<br><br><br>Espero que esto te sea de ayuda.<br><br>Steven<br>_______________________________________________<br>Lista de correo Cconclase Cconclase@listas.conclase.net<br><a target="_blank" href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>Bajas: <a target="_blank" href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></div></div><br></div></div><br>
                <hr size=1>  
Do You Yahoo!? 
La mejor conexión a Internet y <b>2GB</b> extra a tu correo por $100 al mes. <a href="http://net.yahoo.com.mx">http://net.yahoo.com.mx</a> 
</body></html>