Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
ZzLeCzZ
- Beiträge: 245
- Registriert: 15.12.2003 19:34:00
Beitrag
von ZzLeCzZ » 27.07.2004 12:39:11
Hi
ich probier gerade was mit mysql++ rum zu programieren bei make kommen aber 1000 Fehlermeldungen in dieser art
Code: Alles auswählen
/usr/include/sqlplus/sql_query2.hh:6: error: Fehler beim Parsen before '&' token
/usr/include/sqlplus/sql_query2.hh:8: error: `throw' used prior to declaration
/usr/include/sqlplus/sql_query2.hh:8: Warnung: data definition has no type or storage class
/usr/include/sqlplus/sql_query2.hh:9: error: Fehler beim Parsen before '}' token
/usr/include/sqlplus/sql_query2.hh:10: error: Fehler beim Parsen before '&' token
/usr/include/sqlplus/sql_query2.hh:12: Warnung: data definition has no type or storage class
/usr/include/sqlplus/sql_query2.hh:13: error: Fehler beim Parsen before '}' token
In Datei, eingefügt von /usr/include/sqlplus/sqlplus.hh:57,
von hello.c:2:
/usr/include/sqlplus/coldata3.hh:11:18: string: Datei oder Verzeichnis nicht gefunden
In file included from /usr/include/sqlplus/sqlplus.hh:58,
from hello.c:2:
/usr/include/sqlplus/coldata4.hh:13: Warnung: Parameternamen (ohne Typen) in Funktionsdeklaration
/usr/include/sqlplus/coldata4.hh:13: error: conflicting types for `strip_all_blanks'
hier noch mein make file:
Code: Alles auswählen
PROG=hello
LIB=-L/usr/lib/mysql -L/usr/local/lib -lsqlplus
INCLUDE=-I/usr/local/include -I/usr/include/mysql -I/usr/include/sqlplus
LAGS=-Wno-deprecated -lmysqlclient
CC=gcc
CFLAG = -c
$(PROG): $(PROG).o
$(CC) -o $(PROG) $(PROG).o -lm
$(PROG).o: $(PROG).c
$(CC) $(CFLAG) $(PROG).c $@ ${LIB} ${INCLUDE}
clean:
rm -f *.o
rm -f $(PROG)
in c file hab ich folgende beiden dateien eingefügt:
#include <stdio.h>
#include <sqlplus.hh>
was findet der jetzt nicht?
-
Joghurt
- Beiträge: 5244
- Registriert: 30.01.2003 15:27:31
- Wohnort: Hamburg
-
Kontaktdaten:
Beitrag
von Joghurt » 27.07.2004 14:24:50
C != C++
Du schreibst ein C++ Programm, also musst du auch mit einem C++-compiler compilieren.
ersetze in deinem Makefile gcc durch g++
PS: statt <stdio.h> sollte man nach ISO C++ <cstdio> nehmen (IIRC); das ist aber nur kosmetische Natur.
Dennoch solltest du dich bald von printf und co verabschieden, und stattdessen mit iostreams arbeiten. Es ist wirklich angenehmer
-
ZzLeCzZ
- Beiträge: 245
- Registriert: 15.12.2003 19:34:00
Beitrag
von ZzLeCzZ » 27.07.2004 15:46:41
so das mit dem c ->c++ hatt schonmal geholfen
jetzt sagt der nur noch :
Code: Alles auswählen
g++ -o hello hello.o -lm
hello.o(.text+0x1f): In function `main':
: undefined reference to `mysql_init'
hello.o(.text+0x77): In function `main':
: undefined reference to `mysql_real_connect'
hello.o(.text+0x9a): In function `main':
: undefined reference to `mysql_query'
...
findet der jetzt irgendeine lib nicht?
-
ZzLeCzZ
- Beiträge: 245
- Registriert: 15.12.2003 19:34:00
Beitrag
von ZzLeCzZ » 27.07.2004 15:56:41
ok funzt
makefile sieht jetzt so aus:
Code: Alles auswählen
PROG=hello
LIB=-L/usr/lib/ -L/usr/local/lib -lsqlplus
INCLUDE=-I/usr/local/include -I/usr/include/mysql -I/usr/include/sqlplus
LAGS=-Wno-deprecated -lmysqlclient
CC=g++
CFLAG = -c
$(PROG): $(PROG).o
$(CC) -o $(PROG) $(PROG).o -lm ${LIB}
$(PROG).o: $(PROG).c
$(CC) $(CFLAG) $(PROG).c $@ ${INCLUDE}
clean:
rm -f *.o
rm -f $(PROG)
hatte in dieser zeile
Code: Alles auswählen
$(PROG): $(PROG).o
$(CC) -o $(PROG) $(PROG).o -lm ${LIB}
${LIB} vergessen
-
ZzLeCzZ
- Beiträge: 245
- Registriert: 15.12.2003 19:34:00
Beitrag
von ZzLeCzZ » 27.07.2004 16:52:38
sorry wenn ich jetzt nerve aber nächstes problem, kennt jemand ein tutorial wo so simple sachen wie :
cursor in der console bewegen
bildschirm löschen
tastendruck verarbeiten ( nicht cin)...
such schon ne weile und find nix
thx
-
ZzLeCzZ
- Beiträge: 245
- Registriert: 15.12.2003 19:34:00
Beitrag
von ZzLeCzZ » 27.07.2004 17:28:17
thx genau das hab ich gesucht
-
Joghurt
- Beiträge: 5244
- Registriert: 30.01.2003 15:27:31
- Wohnort: Hamburg
-
Kontaktdaten:
Beitrag
von Joghurt » 27.07.2004 17:57:29
Denk' aber dran, dass solche Programme nicht mehr platformunabhängig sind; unter Windows z.B. muss man die Console ganz anders ansprechen.