Nu kommense ... die blöden Anfängerfragen

Diskutiere Nu kommense ... die blöden Anfängerfragen im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Aaalso ... zum Code direkt habbich ja erstaunlicherweise keine weiteren Fragen (it's all Perl *g*), aber diese kompilier- link-Problematik... da...

  1. #1 mennowar, 26.11.2002
    mennowar

    mennowar B.a.f.H.

    Dabei seit:
    15.11.2002
    Beiträge:
    52
    Zustimmungen:
    0
    Ort:
    Germany
    Aaalso ... zum Code direkt habbich ja erstaunlicherweise keine weiteren Fragen (it's all Perl *g*), aber diese kompilier- link-Problematik... da habe ich noch ein wenig Probs.

    Und zwar...
    wenn ich folgendes eingebe:
    Code:
    gcc -I /usr/include/mysql -I. -I.. -o myfile myfile.cpp
    eingebe, dann bekomme ich Fehler a'la
    "unreferenced Symbol mysql_real_connect..."

    lasse ich das ganze hiermit übersetzen, linken, und was weiß ich noch alles, dann funktioniert es auf Anhieb:
    Code:
    c++ -DHAVE_CONFIG_H -I. -I/usr/local/include/mysql  -g -O2 -c $1.cpp
    /bin/sh libtool --mode=link c++  -g -O2 -L/usr/local/mysql/lib -o $1  $1.o ./sqlplusint/libsqlplus.la -lz -lmysqlclient
    c++ -g -O2 -L/usr/local/mysql/lib -o .libs/$1 $1.o ./sqlplusint/.libs/libsqlplus.so -lz -lmysqlclient -lz -lmysqlclient -Wl,--rpath -Wl,/usr/local/lib
    
    Selbst das Ersetzen von gcc durch c++ brachte hier keine Änderung.

    Kann mir jemand erklären, wo der Unterschied ist?
    Im langen Beispiel bastelt er irgendwelche Libraries aus dem cpp-File, das habe ich schon mitbekommen, aber ich will keine Libs kompilieren sondern nur mein Binary.
    Und desweiteren: auf die eine Art funnzt es, auf die andere nicht=?=


    Sehr stark grübelnd,
    Mennowar

    PS: Hinweise auf man c++ oder man gpp brauche ich nicht, die habe ich nämlich schon durchgeackert :)
     
  2. #2 Razoredge, 26.11.2002
    Razoredge

    Razoredge Grünschnabel

    Dabei seit:
    26.11.2002
    Beiträge:
    4
    Zustimmungen:
    0
    Dann weiss Du auch, dass Du im zweiten Beispiel gegen die mysqlclient library und andere linkst und somit die fehlenden Referenzen des obigen Beispiels umgehst.

    Siehe Parameter -l und -L in man gcc/g++.

    gruss
    Raz
     
Thema:

Nu kommense ... die blöden Anfängerfragen

  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden