beim linken kein mysqlclient gefunden



  • hallo Forum,

    ich versuche einen MySQL Client zu schreiben und beim linken wird die lib mysqlclient nicht gefunden.

    das hier hat gut funktioniert:
    gcc -c -I /usr/include/mysql mysql3.c

    laut Buch sollte es mit folgendem weiter gehen:
    gcc –o myclient myclient.o -L/usr/lib/mysql -lmysqlclient
    da scheint der gcc aber irgendwie falsch zu suchen, denn er sagt:
    /usr/bin/ld: cannot find -llibndbclient.a
    ... habe es auch mit libndbclient.a .so und .so.2 versucht, also:
    gcc -o myclient mysql3.o -L/usr/lib/mysql -llibndbclient.a

    meiner:/usr/lib/mysql$ ls
    libdbug.a libmyisam.a libmysqld.a libmysys.a libndbclient.la libndbclient.so.2 libvio.a
    libheap.a libmyisammrg.a libmystrings.a libndbclient.a libndbclient.so libndbclient.so.2.0.0

    was ist denn da die/der mysqlclient?
    auch:
    /usr/bin/ld: cannot find -llibmysqld.a

    warum sucht der gcc in /usr/bin/ld wenn ich ihn nach /usr/lib/mysql schicke?

    meine Infos hab ich aus:
    http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_027_003.htm#RxxobKap02700304002CDA1F04D18C

    was mache ich falsch?



  • mach das '.a' weg, also nur -llibndbclient



  • ne, das geht auch nicht.

    meiner# gcc -o myclient mysql3.o -L/usr/lib/mysql -llibndbclient
    /usr/bin/ld: cannot find -llibndbclient
    collect2: ld gab 1 als Ende-Status zurück



  • allapow schrieb:

    ne, das geht auch nicht.

    meiner# gcc -o myclient mysql3.o -L/usr/lib/mysql -llibndbclient
    /usr/bin/ld: cannot find -llibndbclient
    collect2: ld gab 1 als Ende-Status zurück

    ist der server überhaupt mit ndb unterstützung compiliert worden? gibt es vielleicht ein extra ndb-paket deiner distribution? es muss jedenfalls eine

    libndbapi.a
    

    irgendwo in deinem libpfad geben. wenn dies der fall ist, dann sollte ein

    -lmysqlclient
    

    reichen, andernfalls ein zusätzliches

    -lndbclient
    

    bermerke: das "lib"-präfix nicht mit anführen 🙂



  • ok, danke

    synaptic zeigte mir noch wo mein client liegt und so gings dann:
    gcc -o myclient mysql3.o -L/usr/lib -lmysqlclient

    danke


Anmelden zum Antworten