Zum Inhalt springen

LordTerra

Mitglieder
  • Gesamte Inhalte

    63
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von LordTerra

  1. LordTerra

    SQLite

    ok das programm führt er jetzt aus... 1 frage noch: wie kann ich nun auf die daten aus meinem select zugreifen? weil in rc steht ja nix drin ausser die errorflags... wo hat er denn nu das result untergebracht?
  2. LordTerra

    SQLite

    jo die .so hab ich jetzt eingebunden und du hast recht jetzt meckert er mir irgendwas mit pthread an **** Build of configuration Debug for project SQLite2 **** make all Building target: SQLite2 Invoking: GCC C Linker gcc -o"SQLite2" ./src/SQLite2.o /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so make: Warning: File `/home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so' has modification time 4,1e+03 s in the future /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `pthread_create' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `pthread_getspecific' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `dlclose' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `pthread_key_create' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `dlopen' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `dlsym' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `pthread_join' /home/lordterra/platte2/workspace/SQLite2/src/sqlite-3.4.2.so: undefined reference to `pthread_setspecific' collect2: ld returned 1 exit status make: *** [SQLite2] Fehler 1 wo bekomm ich die dateien?
  3. LordTerra

    SQLite

    hi erstmal wie mein system aufgebaut is: also ich hab nen rechner auf dem die sqlite.db liegt und ich hab nen linux welches über netzwerk auf den ordner zugreifen soll und mit der sqlite.db arbeiten soll ... daten auslesen daten reinschreiben usw... nun die db läuft soweit und mit java kann ich auch drauf zugreifen und alles mögliche mit machen ... nu brauch ich für mein linux nen programm unter c was halöt auch auf die db übers netz zugreifen kann und mit der db arbeiten kann... ich habe unter SQLite home page auch das beispiel versucht bekomm es aber leider nicht richtig zum laufen... (seis weil meine c kenntnisse zu mangelhaft sind oder weil da irgendwas net stimmt) also ich hab folgendes problem: beim linker bekomm ich jedesmal die fehlermeldung: **** Build of configuration Debug for project SQLite2 **** make all Building file: ../src/SQLite2.c Invoking: GCC C Compiler gcc -I"/home/lordterra/platte2/workspace/SQLite2/src" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/SQLite2.d" -MT"src/SQLite2.d" -o"src/SQLite2.o" "../src/SQLite2.c" ../src/SQLite2.c: In function `main': ../src/SQLite2.c:20: warning: implicit declaration of function `exit' Finished building: ../src/SQLite2.c Building target: SQLite2 Invoking: GCC C Linker gcc -L"/home/lordterra/platte2/workspace/SQLite2/src" -o"SQLite2" ./src/SQLite2.o ./src/SQLite2.o(.text+0xe3): In function `main': ../src/SQLite2.c:22: undefined reference to `sqlite3_open' ./src/SQLite2.o(.text+0xfd):../src/SQLite2.c:24: undefined reference to `sqlite3_errmsg' ./src/SQLite2.o(.text+0x11f):../src/SQLite2.c:25: undefined reference to `sqlite3_close' ./src/SQLite2.o(.text+0x14a):../src/SQLite2.c:28: undefined reference to `sqlite3_exec' ./src/SQLite2.o(.text+0x17a):../src/SQLite2.c:31: undefined reference to `sqlite3_free' ./src/SQLite2.o(.text+0x188):../src/SQLite2.c:33: undefined reference to `sqlite3_close' collect2: ld returned 1 exit status make: *** [SQLite2] Fehler 1 also ich geh ma davon aus das mir die lib noch fehlt (benutzte also umgebund cdt eclipse) ... ich hab mir von sqlite.org auch die bin für linux runter geladen , aber entweder hab ich sie falsch eingebunden oder es is die falsche datei... also ka aber irgendwie bringt die nix ... achja noch der code: #include <stdio.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); } rc = sqlite3_open("\\\10.0.88.104\daten\test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, "select * from user;", callback, 0, &zErrMsg); if( rc!=SQLITE_OK ){ fprintf(stderr, "SQL error: %s\n", zErrMsg); sqlite3_free(zErrMsg); } sqlite3_close(db); return 0; } also wenn mir wer helfen kann wäre nett mfg LordTerra
  4. ja thx das wars
  5. das -L brauch ich net mit angeben da ich eclipse benutz und es da nen feld gibt wo ich das eintrag (also option libs -L eingabefeld) habe suse 9.3 und jo user/local/lib steht in der ld.so.conf und er kompiliert ja alles richtig durch nur beim starten schreint er den fehler zu bringen also gcc++ und linker laufen ohne fehler durch
  6. bekomme jetzt beim eintragen von : /usr/local/lib -lmysqlcppapi-2.0 diese fehlermeldung: /home/lordterra/programme/workspace/MySQL4/Debug/MySQL4: error while loading shared libraries: libmysqlcppapi-2.0-2.0.so.5: cannot open shared object file: No such file or directory
  7. /usr/local/lib <--- muss ich das mitangeben also: /usr/local/lib -lmysqlcppapi-2.0 ?
  8. jup is da libmysqlcppapi-2.0.a libmysqlcppapi-2.0.la libmysqlcppapi-2.0.so libmysqlcppapi-2.0-2.0.so.5 libmysqlcppapi-2.0-2.0.so.5.0.0 hmmm naja da sind die header-files... aber wenn ich das weglass geht es net...
  9. mein ich doch ... vertippt
  10. also bei meinem c programm musste ich aber: -L/usr/include/mysql -lmysqlclient -lm angeben damit er die libs gefunden hat wie hab ichs installiert: also ich hab mir die version aus dem netz gezogen und hab dann die 5 schritte zur installation ausgeführt: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. also ich hab das wie folgt übersetzt: 1.) geh in das verzeichnis 2.) führe make aus 3.) führe make check aus 4.) führe make install aus 5.) führe make clean aus als nächstes hab ich: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix gemacht... fehlt da noch was?
  11. hmmm irgendwie steh ich auf m schlauch.. also bei nem c programm geb ich als lib: "das verzeichnis wo die header datei lieft an" -"den client den er benutzen soll" richtig?
  12. ok erst mal beantworten: - benutze die 2005er variante - wo ers liegt hab ich noch geporstet im anderen post.. und hmm die -lmysqlcppapi find ichnet muss aber nochmal gucken
  13. jo die zeile war ja auch von meinem c projekt kopiert also is richtig das cpp zeug liegt wo anders /usr/local/include/mysqlcppapi-2.0 ^^ da liegt das installierte nur wenn ich /usr/local/include/mysqlcppapi-2.0 -lmysqlclient -lm bringt das gar nix
  14. hi so nun da mein kleines c programm funktioniert dachte ich mir hmmm naja probierste die ganze geschichte auch mal unter c++... ja wie soll ich sagen ... nach relativ kurzer zeit bin ich auf die mysqlcppapi gestoßen ... selbige habe ich auch unter suse installiert und hab auch entsprechend einiger beispiele folgenden code zusammen gezimmer : #include <mysqlcppapi/mysqlcppapi.h> #include <iostream> #include <iomanip> #define MY_DATABASE "avs" #define MY_HOST "10.0.88.104" #define MY_USER "test" #define MY_PASSWORD "***" int main(int argc, char *argv[]){ try { mysqlcppapi::Connection con; con.set_Host(MY_HOST); con.set_User(MY_USER); con.set_Password(MY_PASSWORD); con.select_database(MY_DATABASE); mysqlcppapi::Query query = con.create_Query(); query << "select * from user" << std::ends; mysqlcppapi::Result_Store res = query.store(); std::cout << "Query: " << query.preview() << std::endl; std::cout << "Records Found: " << res.size() << std::endl << std::endl; mysqlcppapi::Row row; std::cout.setf(std::ios::left); std::cout << std::setw(10) << "ID" << std::setw(4) << "User" << std::endl << std::endl; mysqlcppapi::Result_Store::iterator i; std::cout.precision(3); for (i = res.begin(); i != res.end(); i++) { row = *i; std::cout << std::setw(10) << row["id"] << "," << std::setw(4) << row["user_name"]<< std::endl; } return 0; } catch (mysqlcppapi::ex_BadQuery& er) { // handle any connection or // query errors that may come up std::cerr << "Error: " << er.what() << std::endl; return -1; } catch (mysqlcppapi::ex_BadConversion& er) { // handle bad conversions std::cerr << "Error: Tried to convert \"" << er.get_Data() << "\" to a \""<< er.get_TypeName() << "\"." << std::endl; return -1; } } so pfad hab ich soweit auch richtig angegeben einzigstes problem: die lib... also unter c konnte ich in den libpfad folgendes eintragen: /usr/include/mysql -lmysqlclient -lm sowas brauch ich nu auch noch für das cpp... weis da einer rat? thx LordTerra
  15. \n als 2 zeichen hatrte ich auch vermutet ...
  16. LordTerra

    C / MySql

    ok hat sich erledigt ... man kann beim gcc linker unter eclipse 2 pfade eintragen .... einmal mit kleinem l einmal mit großen L ich hatte halt beim kleinen und beim großen L den pfad eingetragen ... das war falsch... man darf nur beim großen L was eintragen dann gehts... und das soll einer wissen ... *ggg* naja ok thx
  17. LordTerra

    C / MySql

    :(jo wie ich zum anfang des threads geschrieben hab hab ich ja mein eigenes makefile geschrieben (und auch gepostet) in dem der quellcode ohne probleme funktioniert... da ich da die selben pfade angegeben hab geh ich einfach mal stark davon aus das die dateien da noch liegen... also nehm ich schon an das es nen eclipse einstellungsproblem is... und ich kann schon was mit der fehlermeldung anfangen aber verstehn tu ich sie net weil ich meines erachtens alles richtig eingetragen hab und komplett verwundern tut mich halt der gcc linker der auf nen verzeichnis zugreifen will das nirgends angegeben is ... also nen MySQL3\Debug\MySQL3 gibt es einfach net... da ja aber in dem debug ordner alles von eclipse erstellt wurde kann ich auch net einfach nen ordner dazupacken ... oder ka... ich versteh es halt net mehr
  18. #include <stdio.h> #include <stdlib.h> int main(void) { char wort[25]; int liste[100]; int i=0; int ende=0; for(i=0;i<100;i++) { liste[i]=0; } i=0; while(ende==0){ // habs auf 5 eingaben beschränkt... zum testen if(i>4){ ende=1; }else{ fgets(wort,25,stdin); printf("eingabe: %s\n",wort); if(liste[i]==0){ // -1 weil der das enter als zeichen mitzählt (also nehm ich an) liste[i]=strlen(wort)-1; i++; }else{ i++; } } } for(i=0;i<100;i++) { if(liste[i]==0){break;} printf("liste: %d\n",liste[i]); } } dann halt so ... was mich wundert is dann nur das er bei 25 zeichen nur 23 erkennt... also ka an was das liegt...
  19. also ich hab hier nen lauffähiges programm ... und da wird nix unkontroliert geschrieben ,... ich beleg in dem fall sogar mehr speicher als benötigt... aber es sollte ja net dynamisch werden
  20. LordTerra

    C / MySql

    das hab ich doch getan ... ich kann net mehr als in die poperies -> c/c++ build -> gcc c linker -> settings -> libs den mist eintragen... und was genau hat programmieren mit nem dummen problem des eclipse zu tun? ich hab den depperten pfad angegeben und ich glaub ich hab das hier schon 10 mal oder so geschrieben wie kommt man da auf die antwort: trag die lib ein ... und das das nen l oder nen I is glaub ich net weil ich hab gar net die möglichkeit da was zu verändern... bzw ich glaubs schon aber dran ändern kann ich nix weil die option da nun mal als l oder L vorgegeben ist
  21. #include <stdio.h> #include <stdlib.h> int main(void) { char *wort; int liste[100]; int i=0; int ende=0; for(i=0;i<100;i++) { liste[i]=0; } i=0; while(ende==0){ // habs auf 5 eingaben beschränkt... zum testen if(i>4){ ende=1; }else{ fgets(wort,25,stdin); printf("eingabe: %s\n",wort); if(liste[i]==0){ // -1 weil der das enter als zeichen mitzählt (also nehm ich an) liste[i]=strlen(wort)-1; i++; }else{ i++; } } } for(i=0;i<100;i++) { if(liste[i]==0){break;} printf("liste: %d\n",liste[i]); } } ^^ der geht
  22. LordTerra

    C / MySql

    Invoking: GCC C Linker gcc -o"MySQL3" ./src/common.o ./src/main.o -l/usr/include/mysql\ -lmysqlclient\ -lm /usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/bin/ld: cannot find -l/usr/include/mysql -lmysqlclient -lm collect2: ld returned 1 exit status make: *** [MySQL3] Fehler 1 hab grad gesehn das ich den fehler bekomm ... und das sagt mir jetzt was?
  23. LordTerra

    C / MySql

    also der debugordner sieht wiefolgt aus: debug: datei in debug:makefile datei in debug:objects.mk datei in debug:sources.mk ordner in debug: src datei in src:common.d datei in src:common.o datei in src:main.d datei in src:main.o datei in src:subdir.mk
  24. char *wort; int liste[100]; int i=0; bool ende=false; for(i=0;i<100;i++) { liste[i]=0; } fgets(wort,25,stdin); while(ende=false){ if(i>99){ ende=true; }else{ if(liste[i]!=0){ liste[i]=strlen(wort); ende=true; }else{ i++; } } } --> ausgabe so find ich es am schönsten... bin mir aber net sicher ob das so mit fgets geht wenn net musst du wort halt noch ne feste größe verpassen
  25. was is n dir unklar?

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...