Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen,

für ein Projekt in der Schule brauchen wir eine kleine Datenbank die gar kein großen Umfang haben muss, deshalb haben wir uns für SQLlite entschieden, da wir das "problemlos" mit integrieren können.

Leider funktioniert das nicht so wie gewollt.

Wenn ich das Programm complilieren / link will bekomme ich vom Linker immer folgende Meldung:


C:\c++>bcc32 mytest.cpp

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland

mytest.cpp:

Warning W8057 mytest.cpp 14: Parameter 'NotUsed' is never used in function callb

ack(void *,int,char * *,char * *)

Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

Error: Unresolved external '_sqlite3_open' referenced from C:\C++\MYTEST.OBJ

Error: Unresolved external '_sqlite3_errmsg' referenced from C:\C++\MYTEST.OBJ

Error: Unresolved external '_sqlite3_exec' referenced from C:\C++\MYTEST.OBJ

Error: Unresolved external '_sqlite3_close' referenced from C:\C++\MYTEST.OBJ

Ich steig einfach nicht dahinter woran das liegt :( Ich hab die sqlite3.h aus dem Sourcecode package entpackt und in das selbe verzeichnis wie meinen sourcecode gelegt. Die dll datei hab ich sowohl im im Verzeichnis vom Programm als auch im LIB Folder vom Compiler. Das Programm hab ich mir aus der Doku von SQLite rauskopiert, es sieht wie folgt aus:

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

#include <windows.h>


#include "sqlite3.h"


static int callback(void *NotUsed, int argc, char **argv, char **azColName){

  int i;

  for(i=0; i<argc; i++){

    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");

  }

  printf("\n");

  return 0;

}


int main(int argc, char **argv){

  sqlite3 *db;

  char *zErrMsg = 0;

  int rc;


  if( argc!=3 ){

    fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);

  	exit(1);

	exit(2);



  }

  rc = sqlite3_open(argv[1], &db);

  if( rc ){

    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));

    sqlite3_close(db);

    exit(1);

  }

  rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);

  if( rc!=SQLITE_OK ){

    fprintf(stderr, "SQL error: %s\n", zErrMsg);

  }

  sqlite3_close(db);

  return 0;

}

Hat jemand vielleicht ne Idee woran das liegen könnte?

Danke & Gruß

LordK

Geschrieben

LordK, welchen Compiler bzw. welche Entwicklungsumgebung benutzt du? Je nachdem, kannst du nämlich direkt die .def-Datei linken oder mit entsprechenden Tools aus .def und .dll die passende .lib erzeugen lassen.

Geschrieben

Habe mal geguckt, ob jemand schon das Problem hatte, weil am WE bei meinem Freund alles geklappt hat. Er hat mir sogar erklaert, was er gemacht hat und ich hab jetzt eher ne Vorstellung davon, was ne dll ist. ;-)

bei der Suche im google mit dem Suchbegriff _sqlite3_open kam heraus:

http://www.mail-archive.com/sqlite-users@sqlite.org/msg04485.html

sqlite with Borland C++ 5.02

... offensichtlich scheint es zu funktionieren, wenn mit der IMLIB von Borland ne neue dll baut,

wenn man dieser mailingliste Glauben schenken darf.

Liebe Gruesse,

sissy66.

Geschrieben

weil Du das auch locker gefunden haettest. ;)

(Ausserdem 'Dankeschoen' zurueck, ich hab mal wieder an anderer Stelle was Fachliches anbringen koennen und die Kommunikation mit meinem Freund weiter gefoerdert. :D)

Geschrieben

Ich frag mich auch, warum ich da nicht drüber gestolpert bin. :confused:

Hatte schon stunden mit der Suche nach dem Problem verbracht...

Wahrscheinlich hab ich nur einen flüchtigen Blick auf die Seite geworfen, hab die falschen paar Zeilen gelesen und hab sie wieder zugemacht... :confused:

Naja hauptsache es geht jetzt :D

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...