Cómo vincular archivos obj en 20delphi
Aquí se explica cómo hacerlo
1 Por supuesto, debe descargar el código fuente de SQLite, pero recuerde que es una versión fusionada en una sola.
p>
(Corrección: la fusión no se fusiona en una, es solo el código central fusionado en uno, ¡otros archivos en el código fuente no se pierden!)
2.
2 Descomprima y obtenga tres archivos sqlite3.c sqlite3.h sqlite3ext.h
Luego compile sqlite3.c en obj para facilitar su uso. c se compila en obj para que lo use Delphi
Nota: no use el compilador VC, use el compilador C de Borland, como el propio bcc de Delphi
Esto se debe principalmente a que el compilador VC obj está en formato COFF, mientras que el obj utilizado por Borland está en formato OMF
Línea de comando para compilación bcc: bcc32 -pc -RT- -O -w- -6 -I(bcc32)\include -c sqlite3.c
3.p>3. sqlite3.obj no es suficiente, oh, porque sqlite3.c también tiene enlaces a otras bibliotecas
A continuación se muestran todos los archivos obj. descargado
4. Ahora todos los archivos obj están listos, pero no te emociones demasiado, esto es sólo una pequeña parte de todo el proceso...
Para usarlos en Funciones de Delphi en obj, debes declararlas
Primero crea una nueva unidad, por ejemplo sqlite3.pas, y luego especifica el obj vinculado, por ejemplo
{$L 'OBJ\ sqlite3_5_4.obj'}
{$L 'OBJ\sqlite3_5_4.streams.obj'} //duplicato
Luego cree una nueva unidad, como sqlite3.pas, y luego especifique el obj vinculado, por ejemplo
{$L 'OBJ\sqlite3_5_4.//duplicato
{$L 'OBJ\_ftoul.obj'}
{ $L 'OBJ \files.obj'}
Presta atención al orden, ¿eh?
Luego agregue la declaración de función
Por ejemplo, si desea usar el método sqlite3_open, en sqlite3_file.obj, puede usar el método sqlite3_open.
método abierto, declarado en el código fuente de sqlite
SQLITE_API int sqlite3_open(
const char *filename, /* Nombre de archivo de la base de datos (UTF-8) */
sqlite3 ** ppDb /* SALIDA ppDb /* SALIDA: SQLite db handle*/
);
La declaración correspondiente en Delphi es:
función _sqlite3_open ( dbname: PChar; var db: Pointer): external;
Tenga en cuenta que se llama a cdecl y el nombre de la función debe comenzar con _; de lo contrario, no se encontrará
Solo hay muchas funciones sqlite3 Oh, oh, resulta que solo se ha realizado una parte del trabajo que mencioné...
5. OK, la finalización de la declaración de la función se considera completa.
Ahora puedes usarlo oficialmente. Está arriba~