gcc wird keine MySQL C-Bibliotheken kompilieren und ausführen

7
%Vor%
  

~ $ 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

    
JB87 03.08.2010, 11:53
quelle

7 Antworten

14

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.

%Vor%

Typische Ausgabe:

%Vor%

Jetzt können Sie dies zu Ihrer Kompilier- / Verbindungslinie hinzufügen:

%Vor%     
codaddict 03.08.2010, 12:00
quelle
4

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 .

    
deinst 03.08.2010 11:56
quelle
3

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.

    
thanassis 21.08.2014 07:53
quelle
2

Sie verlinken nicht zu den Bibliotheken. Benutzen: gcc -llibrarygoeshere -o mysql-test MySQL-Test.c Weitere Informationen zum Verknüpfen mit gcc finden Sie hier .

    
pmr 03.08.2010 11:55
quelle
2

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.

    
Didier Trosset 03.08.2010 11:56
quelle
2

Sie haben vergessen, eine Verbindung mit der MySQL-Bibliothek herzustellen. Versuchen Sie, -lmysql zu Ihrer Kompilierungszeile hinzuzufügen.

Weitere Informationen finden Sie Zypern .

    
Gui13 03.08.2010 11:57
quelle
1

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 ...

    
Soroush Khosravi 04.11.2013 07:53
quelle

Tags und Links