Linker Errors
-
Ich habe das aus dem KDevelop heraus getan, per "Erstellen" (ist doch eigentlich nix anders als "gcc -o [dateinamewenndatfertigist] [name von den Quellcodedateien]", oder täusche ich mich da?
Ansonsten...wie linke ich die lib richtig...? Also, wo muss ich was wie einstellen? Mit Visual Studio war das immer recht einfach, nur muss ich in sachen Linux eben noch ne Menge lernen.
-
PhysFehler (anderer PC) schrieb:
Ich habe das aus dem KDevelop heraus getan, per "Erstellen" (ist doch eigentlich nix anders als "gcc -o [dateinamewenndatfertigist] [name von den Quellcodedateien]", oder täusche ich mich da?
Ansonsten...wie linke ich die lib richtig...? Also, wo muss ich was wie einstellen? Mit Visual Studio war das immer recht einfach, nur muss ich in sachen Linux eben noch ne Menge lernen.
Du musst dem Projekt sagen, dass mysql mitgelinkt werden soll. Das ist jedoch abhängig von der Projektart die du hast. Qmake und Automake Projekte werden über den jeweiligen Manager geändert. Da musst du die Eigenschaften der Targets auswählen und die lib Eintragen. Bei make basierten Projekten musst du das selbst in das Makefile eintragen.
-
Und wie geht das...selber in der Makefile eintragen? Es hgandelt sich allerdings um ein Automake Projekt.
-
Wie kingruedi schon sagte, mit der -l option.
Wenn du ausgcc -o bla blub.cpp
gcc -o bla blub.cpp -lmysql
machst, sucht der linker nach einer libmysql.so (oder .a) benannten Datei in den standard Bibliotheksverzeichnissen. mit -L kannste noch mehr Verzeichnisse angeben.. Z.B -L/home/ich/meineLibs/
Mit Autoconf kenn ich mich nicht aus, aber: ja musst Du in die Makefile eintragen..
'man gcc' für mehr info ("/" für die Suchfunktion)
-
Physikalischer Fehler schrieb:
Und wie geht das...selber in der Makefile eintragen? Es hgandelt sich allerdings um ein Automake Projekt.
Hab dir doch geschrieben, dass du das in den Einstellungen zum Target machen musst. Die Targets sind im Automake Manager.
-
Okay, das habe ich halbwegs gerafft, denke ich mal. Ein ganz anderes Problem ist, dass ich die Libs nicht finde (habe den Rechner nach allem, was die Zeichenkette "lib" enthält suchen lassen. Wie heissen die bei Euch bzw. wo liegen die bei Euch?
-
Eventuell musst du die mysql-devel pakete installieren.
die datei, die zum linken gebraucht wird, heisst libmysql.so
-
Danke! Weisst Du wo es die Distributionunabhängig gibt...?
-
Phys. schrieb:
Danke! Weisst Du wo es die Distributionunabhängig gibt...?
Als Sourcecode.
-
Hier die richtigen Pakete für seine Plattform und es geht.
Es soll auch Programme geben die Distributionsunabhängig sind.
Wenn sich eine Distrib. an die Ordnervorgaben hält ist es jedes Paket. Hier kommt es dann nur noch darauf an mit welcher GLIB gelinkt wurde.