Vous le voyez, ce code est simple. Je pense qu'il s'=E9x=E9cuterait sans
probl=E8me si seulement je pouvais le compiler et faire l'=E9dition de
liens !
Voici les commandes que j'utilise pour compiler/linker ainsi que les
erreurs du linker :
g++.exe main.o -o "sageedi.exe" -L"C:/Dev-Cpp5/lib"
main.o(.text+0x142):main.cpp: undefined reference to
`SQLAllocHandle@12'
main.o(.text+0x160):main.cpp: undefined reference to
`SQLAllocConnect@8'
main.o(.text+0x1a6):main.cpp: undefined reference to `SQLConnect@28'
main.o(.text+0x1dc):main.cpp: undefined reference to `SQLGetInfo@20'
main.o(.text+0x206):main.cpp: undefined reference to `SQLDisconnect@4'
main.o(.text+0x216):main.cpp: undefined reference to `SQLFreeConnect@4'
main.o(.text+0x226):main.cpp: undefined reference to `SQLFreeEnv@4'
collect2: ld returned 1 exit status
Je ne comprend pas ces erreurs : Les biblioth=E8ques que j'ai dans
C:/Dev-Cpp5/lib sont (peut-=EAtre que ces deux modules n'ont rien a voir
avec mon probl=E8me) :
libodbccp32.a
libodbc32.a
Je suppose qu'il manque une biblioth=E8que mais je ne sais pas laquelle
ni comment la r=E9cup=E9rer.
g++.exe main.o -o "sageedi.exe" -L"C:/Dev-Cpp5/lib" main.o(.text+0x142):main.cpp: undefined reference to `' main.o(.text+0x160):main.cpp: undefined reference to `' main.o(.text+0x1a6):main.cpp: undefined reference to `' main.o(.text+0x1dc):main.cpp: undefined reference to `' main.o(.text+0x206):main.cpp: undefined reference to `'
main.o(.text+0x216):main.cpp: undefined reference to `'
main.o(.text+0x226):main.cpp: undefined reference to `' collect2: ld returned 1 exit status
Je ne comprend pas ces erreurs : Les bibliothèques que j'ai dans C:/Dev-Cpp5/lib sont (peut-être que ces deux modules n'ont rien a voir
avec mon problème) : libodbccp32.a libodbc32.a
Je suppose qu'il manque une bibliothèque mais je ne sais pas laquelle ni comment la récupérer.
En général, si tu utilises des bibliothèques autres que celles du système ou de l'implémentation, il faut le dire au compilateur : dans le cas de g++, l'option est -l, ou -lxxx fait utiliser la bibliothèque libxxx.a. Aussi, l'ordre est important. Mais à tout hazard, j'essaierais : g++ main.o -o sageddi.exe -Lc:/Dev-Cpp5/include -lodbccp32 -lodbc32 et si ça ne marche pas, en inversant l'ordre des options -l.
Encore qu'à vrai dire, j'essaierais d'abord à trouver de la doc, qui me dit exactement ce qu'il faut.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
mrambil wrote:
J'ai quelques problèmes dans l'utilisation de l'API ODBC
MS. A vrai dire je ne sais pas si je l'utilise de la bonne
manière
J'utilise Dev-cpp avec gcc/g++ v3.4.2 sur Win XP.
Je dois me connecter à une system DSN installée sur mon
ordinateur. Voici mes sources :
[...]
Voici les commandes que j'utilise pour compiler/linker ainsi
que les erreurs du linker :
g++.exe main.o -o "sageedi.exe" -L"C:/Dev-Cpp5/lib"
main.o(.text+0x142):main.cpp: undefined reference to
`SQLAllocHandle@12'
main.o(.text+0x160):main.cpp: undefined reference to
`SQLAllocConnect@8'
main.o(.text+0x1a6):main.cpp: undefined reference to `SQLConnect@28'
main.o(.text+0x1dc):main.cpp: undefined reference to `SQLGetInfo@20'
main.o(.text+0x206):main.cpp: undefined reference to
`SQLDisconnect@4'
main.o(.text+0x216):main.cpp: undefined reference to
`SQLFreeConnect@4'
main.o(.text+0x226):main.cpp: undefined reference to `SQLFreeEnv@4'
collect2: ld returned 1 exit status
Je ne comprend pas ces erreurs : Les bibliothèques que j'ai dans
C:/Dev-Cpp5/lib sont (peut-être que ces deux modules n'ont rien a
voir
avec mon problème) :
libodbccp32.a
libodbc32.a
Je suppose qu'il manque une bibliothèque mais je ne sais pas
laquelle ni comment la récupérer.
En général, si tu utilises des bibliothèques autres que celles
du système ou de l'implémentation, il faut le dire au
compilateur : dans le cas de g++, l'option est -l, ou -lxxx fait
utiliser la bibliothèque libxxx.a. Aussi, l'ordre est
important. Mais à tout hazard, j'essaierais :
g++ main.o -o sageddi.exe -Lc:/Dev-Cpp5/include -lodbccp32 -lodbc32
et si ça ne marche pas, en inversant l'ordre des options -l.
Encore qu'à vrai dire, j'essaierais d'abord à trouver de la doc,
qui me dit exactement ce qu'il faut.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
g++.exe main.o -o "sageedi.exe" -L"C:/Dev-Cpp5/lib" main.o(.text+0x142):main.cpp: undefined reference to `' main.o(.text+0x160):main.cpp: undefined reference to `' main.o(.text+0x1a6):main.cpp: undefined reference to `' main.o(.text+0x1dc):main.cpp: undefined reference to `' main.o(.text+0x206):main.cpp: undefined reference to `'
main.o(.text+0x216):main.cpp: undefined reference to `'
main.o(.text+0x226):main.cpp: undefined reference to `' collect2: ld returned 1 exit status
Je ne comprend pas ces erreurs : Les bibliothèques que j'ai dans C:/Dev-Cpp5/lib sont (peut-être que ces deux modules n'ont rien a voir
avec mon problème) : libodbccp32.a libodbc32.a
Je suppose qu'il manque une bibliothèque mais je ne sais pas laquelle ni comment la récupérer.
En général, si tu utilises des bibliothèques autres que celles du système ou de l'implémentation, il faut le dire au compilateur : dans le cas de g++, l'option est -l, ou -lxxx fait utiliser la bibliothèque libxxx.a. Aussi, l'ordre est important. Mais à tout hazard, j'essaierais : g++ main.o -o sageddi.exe -Lc:/Dev-Cpp5/include -lodbccp32 -lodbc32 et si ça ne marche pas, en inversant l'ordre des options -l.
Encore qu'à vrai dire, j'essaierais d'abord à trouver de la doc, qui me dit exactement ce qu'il faut.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
mrambil
J'ai résolu le problème en ajoutant libodbc32.dll à la liste des fichiers du projets sous Dev-C++
J'ai résolu le problème en ajoutant libodbc32.dll à la liste des
fichiers du projets sous Dev-C++