c++ mysql Bibliothek einbinden

Dieses Thema im Forum "C/C++" wurde erstellt von rdg, 23.10.2006.

  1. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Hi,

    ich hab ein Problem auf die Funktionen von mysql zuzugreifen. Er erkennt <mysql> nicht sondern ich muß immer <mysql/mysql.h> einbinden und dennoch funktioniert es nicht. Habe im /urs/include u. /urs/lib nachgeschaut und beide sind da. Die devel.rpm habe ich auch installiert, sonst wären die beiden ja auch nicht da. Vielleicht kann mir ja bitte auch gleich dabei jemand mal den Unterschied zwischen <> u. "" erklären, dies würde mich auch mal interessieren.

    dank und Gruß
    Rdg
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 hazelnoot, 23.10.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    schau mal vl musst du die mysql bibliothek auch noch beim compilevorgang einbinden...
    <>... wird im include vertzeichnis gesucht
    ""... wird im aktuellen sourcevertzeichnis gesucht

    mfg hazelnoot
     
  4. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Ja ich hab auch schon über die Komandozeile
    gcc -c -I/usr/include/mysql abc.cpp
    gcc -o abc abc.cpp -L/usr/lib/mysql/ -lmysqlclient
    eingegeben. Hat auch nicht funktioniert.
    vl sagt mir leider nichts,oder was ich damit machen soll.
    Beim Umgang mit dem Compiler habe ich noch Schwierigkeiten.
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Was schmeisst denn der Compiler für eine Fehlermeldung aus?
     
  6. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Hi Theton,

    in der Hoffnung dass du die Antwort nochmal liest.

    In function `CMysql':
    /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmysql.cpp:33: undefined reference to `mysql_init'
    /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmysql.cpp:44: undefined reference to `mysql_real_connect'
    /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmysql.cpp:33: undefined reference to `mysql_init'
    /home/rdg/daten/C++/Linux/arbeitszeiten/src/cmysql.cpp:44: undefined reference to `mysql_real_connect'
    collect2: ld returned 1 exit status
    gmake[2]: Leaving directory `/home/rdg/daten/C++/Linux/arbeitszeiten/debug/src'



    #include "cmysql.h"
    #include <mysql/mysql.h>
    #include <stdio.h>
    #include <iostream>
    #include <cstdlib>
    #include <string>

    MYSQL *my;
    my = mysql_init(NULL);

    mysql_real_connect (
    my, // Zeiger auf MYSQL-Handler
    c_host, // Host-Name
    c_user, // User-Name
    c_password, // Passwort fr user_name
    c_database, // Name der Datenbank
    c_port, // Port (default=0)
    c_socket, // Socket (default=NULL)
    c_flag // Flags
    );

    Hoffe wie gesagt du liest die Antwort nochmal und danke für deine Hilfe!
    Gruß
    rdg
     
  7. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Versuchs mal mit
    Code:
    gcc -I/usr/include/mysql -L/usr/lib/mysql -lmysql -o outputdatei meinprogramm.c
    Dateinamen und Pfade natürlich für dein System anpassen.
     
  8. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Hi theton,
    cool hätte nicht gedacht, das du meinen Hilferuf noch erhörst!
    hab darauf die Fehlermeldung
    /usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/bin/ld: cannot find -lmysql
    collect2: ld gab 1 als Ende-Status zurück
    erhalten, also glaube ich das irgendetwas nicht installiert ist, habe aber leider keine Idee was das sein könnte.

    dank dir
    rdg
     
  9. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Du musst die devel-Pakete von MySQL installieren. Je nach Distro heissen die leicht unterschiedlich, bei SuSE z.B. mysql-devel, bei Debian/Ubuntu sind das die libmysqlclient<version>-devel (Version ist hier je nach Distro und Repositories 12, 14 oder 15).
     
  10. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    Ja das ist es ja, ich habe es installiert und es funktioniert nicht. Jetzt versuch ich ein paar Pakete von gcc nachzuinstallieren und hoffe so das es funktioniert. Zu mysql habe ich keine Pakete mehr gefunden welche mir weiterhelfen würden.
     
  11. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Gibst du auch den richtigen Pfad zu libmysql an?
     
  12. #11 rdg, 24.10.2006
    Zuletzt bearbeitet: 24.10.2006
    rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    /usr/lib/mysql

    Ich verstehe auch nicht, warum ich immer <mysql/mysql.h> eingeben muss, obwohl Verzeichnis mysql ja da ist, ich glaube hier liegt der Fehler den ich nicht finde.
     
  13. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Standardmässig sucht der Compiler nach Header-Dateien in /include, /usr/include und /usr/local/include. Sind die Header dort in einem Unterverzeichnis, muss der relative Pfad beim define verwendet werden
    Code:
    #include <unterverzeichnis-von-include/headerdatei.h>
    Liegen deine Header also in /usr/include/mysql musst du das auch so angeben
    Code:
    #include <mysql/mysql.h>
    Deswegen denke ich nicht, dass hier dein Problem liegt.
    Um den Linker korrekt einzurichten, kannst du einfach mal folgendes machen:
    1. Überprüfe ob in /usr/lib/mysql eine Datei libmysqlclient.so existiert.
    2. Wenn sie dort liegt, trage in eine extra Zeile der /etc/ld.so.conf den Pfad ein:
    Code:
    /usr/lib/mysql
    3. Lass einmal ldconfig durchlaufen.
    4. Wenn ldconfig ohne eine Meldung beendet wird, versuche es nochmal mit dem kompilieren.
     
  14. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    hat leider nichts gebracht.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Wie sieht der Inhalt von /usr/include/mysql und /usr/lib/mysql bei dir aus?
     
  17. rdg

    rdg ???

    Dabei seit:
    12.10.2006
    Beiträge:
    357
    Zustimmungen:
    0
    Ort:
    Berlin
    usr/lib/mysql/
    libdbug.a
    libheap.a
    libmyisam.a
    libmyisammrg.a
    libmysqlclient.a
    libmysqlclient.la
    libmysqlclient.so
    libmysqlclient.so.15
    libmysqlclient.so.15.0.0
    libmysqlclient_r.a
    libmysqlclient_r.la
    libmysqlclient_r.so
    libmysqlclient_r.so.15
    libmysqlclient_r.so.15.0.0
    libmystrings.a
    libmysys.a
    libvio.a
    mysqld.sym

    usr/include/mysql
    errmsg.h
    keycache.h
    m_ctype.h
    m_string.h
    my_alloc.h
    my_config.h
    my_dbug.h
    my_dir.h
    my_getopt.h
    my_global.h
    my_list.h
    my_net.h
    my_no_pthread.h
    my_pthread.h
    my_semaphore.h
    my_sys.h
    my_xml.h
    mysql.h
    mysql_com.h
    mysql_embed.h
    mysql_time.h
    mysql_version.h
    mysqld_ername.h
    mysqld_error.h
    raid.h
    sql_common.h
    sql_state.h
    sslopt-case.h
    sslopt-longopts.h
    sslopt-vars.h
    typelib.h
     
Thema: c++ mysql Bibliothek einbinden
Besucher kamen mit folgenden Suchen
  1. mysql datenbank in c einbinden

Die Seite wird geladen...

c++ mysql Bibliothek einbinden - Ähnliche Themen

  1. Freelancer gesucht - Debian / MySQL / Pearl / PHP - Erfahrung

    Freelancer gesucht - Debian / MySQL / Pearl / PHP - Erfahrung: Hallo, suche einen Freelancer für einen Webdienst... mit obigen Kenntnissen! Bitte Stundensatz mit Kurzbeschreibung mitteilen. NOCH WAS: Also...
  2. MySQL 5.7 angekündigt

    MySQL 5.7 angekündigt: Oracle hat MySQL 5.7 in der offiziellen Version angekündigt. Das populäre freie Datenbanksystem wird in Version 5.7 bei bestimmten Abfragen...
  3. MySQL 5.7 angekündigt

    MySQL 5.7 angekündigt: Oracle hat MySQL 5.7 in der offiziellen Version angekündigt. Das populäre freie Datenbanksystem wird in Version 5.7 bei bestimmten Abfragen...
  4. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...
  5. MySQL Datenbank / Phpmyadmin Fehler #2002

    MySQL Datenbank / Phpmyadmin Fehler #2002: Wie oben schon beschrieben kommt bei mir immer wenn ich versuche auf Phpmyadmin zu verbinden dieser Fehler : #2002 Die Anmeldung am MySQL-Server...