--EuxKj2iCbKjpUGkD Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable
On 12.Feb 2003 - 11:41:14, Frederik wrote: > > also ich mach das so: > >=20 > > gcc -lm ProgrammName.c > das war eigentlich nicht meine Frage. > ich wollte vielmehr wissen, warum "-lm" f=FCr math.h steht bzw. wo ich es > h=E4tte herausfinden k=F6nnen, wenn ich es nicht gewu=DFt h=E4tte!? -lm steht aber nicht f=FCr math.h, sondern f=FCr die libm.so.x.x, -l ist ein Compilerschalter der die angegebene Library miteinbindet (ohne das lib und die Endung). math.h ist eine Header-Datei die die Funktionsr=FCmpfe der in libm.so enthaltenen Funktionen bereitstellt. Du solltest f=FCr sowas mal ein wenig nachlesen wie das bei C/C++ mit Libraries funktioniert. Wenn Programm X die Funktionen aus Library Y benutzen will, muss in den Quelldateien von X die Headerdatei(en) von Y mit angegeben werden - damit der Compiler wei=DF wie die Funktionen aussehen die in X benutzt werden (und in Y definiert sind). Beim sog. Linken braucht dann der Linker nicht mehr nur die Info wie die Funktionen aussehen sondern die Funktionen selbst, deswegen muss man ihm sagen in welche Library sie stehen (-lY z.B.). > Bei solchen Standard-Sachen wie math.h ist es ja noch recht schnell > irgendwo in Bspen zu finden. >=20 > Was ich meine ist, dass es doch irgendetwas geben muss, dass der Linker > einem verr=E4t, was er mit welchen Abk=FCrzungen verlinkt!? Wie oben bereits gesagt, ein Schalte der Form -lXXX wird vom Linker expandiert zu libXXX.so.(Version). Dann kannst du gucken ob diese Datei in den Librarypfaden enthalten ist (i.A. /usr/lib, /lib, evtl. noch /usr/local/lib) bzw. ob er beim Linken -L/pfad/zur/lib hat. Wenn dort nirgendwo eine entsprechende Datei ist, musst du mal schauen zu welchem Paket sie geh=F6rt. Zu diesem Paket gibts dann sicher auch ein -dev Paket das die Header enth=E4lt. > Oder zu meinem konkreten Problem:=20 > Scheitert ein ./configure bei g++ -lqt-mt; m=F6chte ich nat=FCrlich gerne > m=F6glichst schnell und unkompliziert wissen, was ihm genau fehlt. Mach ich immer so: locate qt-mt. Wenn Ergebnis leer -> apt-cache search qt-mt, und -dev Library mit installieren. Wenn Ergebnis von locate nicht leer -> Pr=FCfen der Librarypfade und evtl. ldconfig ausf=FChren. Andreas --=20 Wie man sein Kind nicht nennen sollte:=20 Al Gebra=20 --EuxKj2iCbKjpUGkD Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE+SkCHEeTwtO5zjFYRAp5yAJ4lgGxtvWzw8vp5xe4oos85FpPRwACfVVDc VxPnZBJG0AymORvkGS6oBFU= =zXNh -----END PGP SIGNATURE----- --EuxKj2iCbKjpUGkD-- -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)