Hallo,
da Java auf meinem P100-Laptop nicht benutzbar ist, habe ich im Urlaub angefangen mich mit C zu beschäftigen. Natürlich geht erst mal nichts:
pummel@k7:~/cprog/mysql > gcc -Wall -I/usr/local/mysql/include/mysql first_db.c -o first_db.o /tmp/ccengm7I.o: In function `main': /tmp/ccengm7I.o(.text+0xc): undefined reference to `mysql_init' /tmp/ccengm7I.o(.text+0x34): undefined reference to `mysql_real_connect' /tmp/ccengm7I.o(.text+0x6d): undefined reference to `mysql_close' /tmp/ccengm7I.o: In function `dbInsert': /tmp/ccengm7I.o(.text+0x93): undefined reference to `mysql_query' /tmp/ccengm7I.o: In function `dbSelect': /tmp/ccengm7I.o(.text+0xd3): undefined reference to `mysql_query' /tmp/ccengm7I.o(.text+0xfd): undefined reference to `mysql_store_result' /tmp/ccengm7I.o(.text+0x12c): undefined reference to `mysql_num_fields' /tmp/ccengm7I.o(.text+0x140): undefined reference to `mysql_fetch_row' /tmp/ccengm7I.o(.text+0x15f): undefined reference to `mysql_fetch_lengths' /tmp/ccengm7I.o(.text+0x1ed): undefined reference to `mysql_free_result' collect2: ld returned 1 exit status
Das Progrämmchen sieht ungefähr so aus (auch geklaut): 4 #include <stdio.h> 5 #include <mysql.h> 11 int main() 12 { 13 MYSQL * dbHandle; 14 15 dbHandle = mysql_init(0); 16 dbHandle = mysql_real_connect(dbHandle, 17 "localhost", /* on what host */ 18 "pummel", /* the user */ 19 0, /* no password */ 20 "immonet", /* the database */ 21 0, /* don't change the port number */ 22 0, /* don't change the UNIX socket */ 23 0); /* client flag */ 24 if (dbHandle==0) { 25 puts("no connect to database"); 26 } 29 dbSelect(dbHandle); 32 mysql_close(dbHandle); 34 return 0; 35 } 36 45 void dbSelect(MYSQL *dbHandle) 46 {...} xx return 1;
Der Fehler erscheint mir als der, dass de Compiler die in mysql.h definierten Funktionen nicht findet. Was muss ich ihm noch mit auf den Weg geben, das er es tut?
Mit freundlichen Grüßen
Jens Puruckherr