~ $ gcc -o mysql-test MySQL-Test.c
Ich versuche, dieses Testprogramm vom Terminal auszuführen, bekomme aber die folgende Fehlermeldung:
/tmp/cceEmI0I.o: In der Funktion main': MySQL-Test.c:(.text+0xa): undefined reference to
mysql_get_client_info '
Was ist falsch? Mein System ist ubuntu
MySQL
kommt mit einem speziellen Skript namens mysql_config
. Es bietet Ihnen nützliche Informationen zum Kompilieren Ihres MySQL-Clients und zum Verbinden mit dem MySQL-Datenbankserver.
Bestanden --libs
Option - Bibliotheken und Optionen, die zum Verknüpfen mit der MySQL-Client-Bibliothek erforderlich sind.
Typische Ausgabe:
%Vor%Jetzt können Sie dies zu Ihrer Kompilier- / Verbindungslinie hinzufügen:
%Vor% Sie benötigen gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz
Ersetzen Sie -L/usr/local/mysql/lib
durch die Stelle, an der sich Ihre Client-Bibliothek befindet (falls sie nicht bereits in Ihrem libpath vorhanden ist)
Siehe die MySql Anweisungen zum Erstellen von Clients .
Für die Verwendung von Netbeans unter Linux
Öffnen Sie die Datei make (MakeFile) und fügen Sie die folgenden Zeilen hinzu:
%Vor%direkt unter dem Block Umwelt.
Klicken Sie dann mit der rechten Maustaste auf Ihren Projektknoten, wählen Sie Eigenschaften, Erstellen und fügen Sie $(MYSQL_LIBS)
dem Parameter Zusätzliche Optionen hinzu.
Es ist kein Kompilierungsfehler. Es ist ein Linkfehler.
Fügen Sie die mysql-Bibliothek hinzu, um Ihre ausführbare Datei zu erstellen, wobei die Option -lmysql
den Trick machen sollte.
Vielleicht spät, aber für mich gearbeitet
Wenn Sie eine IDE verwenden, sollten Sie die Bibliothek mit Ihrem Projekt verknüpfen.
Ich verwende CodeBlocks
auf Ubuntu 12.4 64x. Um die Bibliothek zu verlinken, gehen Sie zu Project - & gt; Buildoptionen - & gt; Linkereinstellungen und fügen Sie die Bibliothek hinzu. Das ist mein lib-Pfad: /usr/lib/x86_64-linux-gnu/libmysqlclient.so
Ich hoffe, es ist nützlich ...
Tags und Links c gcc mysql undefined-reference