gcc nicht kompilieren und ausführen des MySQL-C-Bibliotheken
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
}
~$ gcc -o-mysql-MySQL-test-Test.c
ich versuche, um den test ausführen-Programm vom terminal aus, bekomme aber folgende Fehlermeldung:
/tmp/cceEmI0I.o: In Funktion main': MySQL-Test.c:(.text+0xa): undefined reference to
mysql_get_client_info'
was ist falsch? mein system ist ubuntu
Du musst angemeldet sein, um einen Kommentar abzugeben.
MySQL
kommt mit einem speziellen Skript namensmysql_config
. Es bietet Ihnen nützliche Informationen für die Erstellung Ihrer MySQL-client und eine Verbindung zu MySQL-Datenbank-server.Pass
--libs
option - Bibliotheken und Optionen erforderlich, um eine Verbindung mit dem MySQL-client-Bibliothek.Typische Ausgabe:
Jetzt können Sie fügen Sie diese zu Ihrem Compiler - /link-Zeile:
Müssen Sie
gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz
Ersetzen
-L/usr/local/mysql/lib
mit, wo Sie die client-Bibliothek ist (wenn es nicht bereits in Ihrem libpath)Finden Sie in der MySql Anleitung für Bauherren.
Für Verwendungen von Netbeans auf Linux
Öffnen Sie die make-Datei (MakeFile) und fügen Sie die folgenden Zeilen
rechts unten der Umwelt blockieren.
Dann mit der rechten Maustaste auf Ihr Projekt Knoten , wählen Sie Eigenschaften Erstellen und hinzufügen
$(MYSQL_LIBS)
Zusätzliche Optionen parameter.Sind Sie nicht die Verknüpfung zu den Bibliotheken. Verwendung:
gcc -llibrarygoeshere -o mysql-test MySQL-Test.c
Sehen hier für weitere Informationen über die Verlinkung mit gcc.
Ist es nicht zu einem Kompilierungsfehler. Es ist ein link-Fehler.
Fügen Sie die mysql-Bibliothek für das erstellen der ausführbaren Datei mit der option
-lmysql
sollte den trick tun.Haben Sie vergessen, link gegen die MySQL-Bibliothek.
Versuchen Sie
-lmysql
Ihrer Zusammenstellung line.Sehen http://www.adp-gmbh.ch/cpp/gcc/create_lib.html für weitere Informationen.
Vielleicht zu spät, aber für mich gearbeitet
Wenn Sie ein IDE sollten Sie die Bibliothek in Ihr Projekt ein.
Ich bin mit
CodeBlocks
auf ubuntu 12.4 64x. Für die Anbindung der Bibliothek, den Sie gehen sollten, um Projekt -> Build-Optionen -> linker-Einstellungen und fügen Sie die Bibliothek. dies ist mein lib-Pfad :/usr/lib/x86_64-linux-gnu/libmysqlclient.so
Hoffe, nützlich sein...