El enlace de archivos .obj C en aplicación Delphi, C estándar resolver las dependencias

StackOverflow https://stackoverflow.com/questions/1966692

  •  21-09-2019
  •  | 
  •  

Pregunta

Me libxml2 compilado con el compilador de línea de comandos BCC 5.5, ahora tengo un montón de archivos .obj la que me gustaría link en mi aplicación Delphi. Por desgracia, tengo un montón de errores "externos declaración adelantada o Insatisfecho", que apunta a funciones de biblioteca C estándar como memcpy, abierto, recv etc ... ¿Qué debo hacer para compilar correctamente? Me gustaría evitar en función de msvcrt.dll o cualquier otra biblioteca externa.

Gracias de antemano!

¿Fue útil?

Solución

En función de la versión de Delphi que tiene, no debe haber una unidad llamada crtl.dcu con el que se puede enlazar. Sólo tiene que utilizar la directiva $ L para cada archivo .obj en una unidad que también utiliza Ctrl. También puede ser necesario para la "utilización" otras varias unidades como Windows, WinSock, etc ... El punto es proporcionar a los símbolos y funciones para resolver durante la fase de enlace.

Esta es la misma técnica utilizada para estáticamente enlace en el código DataSnap TClientDataSet también se utiliza para construir midas.dll.

Otros consejos

es recomendable que lea el artículo de Rudy aquí "Utilización de archivos de objetos en Delphi C"

No utilice estas funciones, pero reescríbalos llamar a las funciones del sistema operativo (kernel32 / system32) directamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top