Bonjour,
Je rencontre un problème lors de la compilation du programme tout simple ci-dessous :
Je suis sous Windows XP, avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> #include <my_global.h> #include <mysql.h> int main(int argc, char **argv) { printf("MySQL client version: %s\n", mysql_get_client_info()); exit(0); }
1) gcc 4.8.1 (MinGW32, installé dans C:\MinGW)
2) MySQL Connector C 6.1.2 Win32 (mysql-connector-c-6.1.2-win32.msi ; téléchargé ici : http://dev.mysql.com/downloads/connector/c/ ) dans C:\Program Files\MySQL\MySQL Connector C 6.1
J'encode mes fichiers en UTF-8 sans BOM, sous Notepad++ (à moyen terme j'envisage de passer sous CodeBlocks, à long terme QTCreator)
Le dossier C:\MinGW\bin est bien dans ma variable d'environnement PATH.
Ci-dessous également mon makefile :
Et le message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CC=gcc -std=c99 all: mysql_test mysql_test: $(CC) mysql_test.c -o mysql_test.exe clean: del mysql_test.exe
Entre autres tentatives, j'ai modifié mon makefile comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 E:\projet\c\mysql_test>mingw32-make all gcc -std=c99 mysql_test.c -o mysql_test.exe mysql_test.c:6:23: fatal error: my_global.h: No such file or directory #include <my_global.h> ^ compilation terminated. makefile:6: recipe for target 'mysql_test' failed mingw32-make: *** [mysql_test] Error 1
Cette fois, le message d'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CC=gcc -I "C:\Program Files\MySQL\MySQL Connector C 6.1\include" -L "C:\Program Files\MySQL\MySQL Connector C 6.1\lib" all: mysql_test mysql_test: $(CC) mysql_test.c -o mysql_test.exe clean: del mysql_test.exe
Etrange, cette redéfinition de rint !?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 E:\projet\c\mysql_test>mingw32-make all gcc -I "C:\Program Files\MySQL\MySQL Connector C 6.1\include" -L "C:\Program Files\MySQL\MySQL Connector C 6.1\lib" mysq l_test.c -o mysql_test.exe In file included from mysql_test.c:6:0: C:\Program Files\MySQL\MySQL Connector C 6.1\include/my_global.h:912:22: error: static declaration of 'rint' follows non -static declaration static inline double rint(double x) ^ In file included from C:\Program Files\MySQL\MySQL Connector C 6.1\include/my_global.h:945:0, from mysql_test.c:6: C:\Program Files\MySQL\MySQL Connector C 6.1\include/my_dbug.h:119:20: fatal error: crtdbg.h: No such file or directory #include <crtdbg.h> ^ compilation terminated. makefile:6: recipe for target 'mysql_test' failed mingw32-make: *** [mysql_test] Error 1
Auriez vous une idée ? Quelques explications ?
Ou même une solution ?
J'aimerais bien comprendre ce qui bloque, et compiler ce petit bout de programme...
D'avance merci !![]()
Partager