1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Anwendung im Eclipse zum laufen bekommen

  • LordTerra
  • 27. August 2007 um 13:27
  • Unerledigt
  • LordTerra
    1
    LordTerra
    Mitglied
    Punkte
    10
    Beiträge
    1
    • 27. August 2007 um 13:27
    • #1

    hi

    ich hab da ma ne frage:
    also ich benutze suse 9.3 und eclipse 3.3.0 für c/c++

    nun hab ich ein programm geschrieben was sich mir einer datenbank connectet und da halt ne tabelle ausliest...

    dieses projekt comilier ich zur zeit über ein eigens geschriebenes makefile...

    ich würde nun gern dieses projekt aber in eclipse comilieren...

    also erstmal fix die funktionierenden sourcen:

    makefile:

    Code
    [/B][/B]CC = gcc INCLUDES = -I/usr/include/mysql LIBS = -L/usr/include/mysql -lmysqlclient -lm all: myapp main.o: main.c common.h    $(CC) -c $(INCLUDES) main.c common.o: common.c common.h    $(CC) -c $(INCLUDES) common.c myapp: main.o common.o    $(CC) -o myapp main.o common.o $(LIBS) clean:    rm -f myapp main.o common.o [B]

    main.c:

    Code
    [/B][/B]/* main.c */ #include <stdio.h> #include <mysql.h> #include "common.h" #define def_db_host "10.0.88.104" #define def_db_user "test" #define def_db_name "avs" #define def_db_port 0 #define def_unix_socket NULL MYSQL *mysql; int main(int argc, char *argv[]){    MYSQL_RES *res_set;    char *db_pass;    db_pass = get_tty_password(NULL);    mysql = db_connect (def_db_host, def_db_user, db_pass, def_db_name,                      def_db_port, def_unix_socket, 0);    if(mysql == NULL){       exit(1);    }else{       fprintf(stdout, "Verbunden.\n");       if(mysql_query(mysql, "select * from user")==0){          res_set = mysql_store_result(mysql);          if(res_set != NULL){             print_result_set(mysql, res_set);             mysql_free_result(res_set);          }else{             if(mysql_field_count(mysql)>0){                fprintf(stderr, "Keine Ergebnismenge, mysql_store_result() gescheitert: %s\n", mysql_error(mysql));             }else{                printf("Abfrage nicht für Datenbankrückgabe vorgesehen.\n");             }          }       }else{          fprintf(stderr, "Abfrage gescheitert:%s\n",mysql_error(mysql));       }    }    db_disconnect(mysql);    exit(0); } void print_result_set(MYSQL *mysql, MYSQL_RES *res_set){    unsigned int f;    MYSQL_ROW row;    printf("huhu");    while((row = mysql_fetch_row(res_set))!=NULL){       f=0;       while(f<mysql_num_fields(res_set)){          if(f>0){             fputc('\t', stdout);             fprintf(stdout, "%s", row[f]);             f++;          }       }       if(mysql_errno(mysql)==0){          fprintf(stdout,"Anzahl zurückgegebener Zeilen: %lu.\n",                (unsigned long)mysql_num_rows(res_set));       }else{          fprintf(stderr, "mysql_fetch_row() gescheitert.\n");       }          } } [B]

    common.c:

    Code
    [/B][/B]/* common.c */ #include <stdio.h> #include <mysql.h> #include "common.h" MYSQL *db_connect(char *db_host,                 char *db_user,                 char *db_pass,                 char *db_name,                 unsigned int db_port,                 char *unix_socket,                 unsigned int db_flags){    MYSQL *mysql;    if((mysql = mysql_init(NULL))==NULL){       fprintf( stderr, "mysql_init() gescheitert \n");       return(NULL);    }    if(mysql_real_connect(mysql, db_host, db_user, db_pass, db_name,                        db_port, unix_socket,db_flags)==NULL){       fprintf(stderr, "mysql_real_connect() gescheitert \nFehler %u: %s\n",             mysql_errno(mysql), mysql_error(mysql));       return(NULL);    } } void db_disconnect(MYSQL *mysql){    mysql_close(mysql); } [B]

    common.h:

    Code
    [/B]#ifndef COMMON_H_ #define COMMON_H_ #endif /*COMMON_H_*/ MYSQL *db_connect(char *db_host,                 char *db_user,                 char *db_pass,                 char *db_name,                 unsigned int db_port,                 char *db_socket,                 unsigned int db_flags); void db_disconnect(MYSQL *mysql); [B]

    [/B]

    so also wie gesagt der code geht so wenn ich ihn über das makefile aufrufe... wenn ich im eclipse den code aufrufe bekam ich als erstes: er kennt die mysql.h net das hab ich behoben indem ich in den projektoptionen unter c/c++ build --> settings --> directories --> den pfad zur mysql.h eingetragen hab

    zusätzlich habe ich gcc c compiler --> libaries -> /usr/include/mysql -lmysqlclient -lm eingetragen

    damit konnte ich es erstmal compilieren...
    nun tritt aber noch folgender fehler auf:

    Launching MySQL3 (Time of error: 27.August 2007 ... )
    Reason:
    /home/lordterra/programme/workspace/MySQL3/Debug/MySQL3 not found

    das ist auch vollkommen richtig der ordner MySQL3 existiert nicht im ordner Debug... aber sollte der net automatisch erzeugt werden?

    wie bekomm ich das programm zum laufen?
    thx für hilfe
    LordTerra

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung