Bonjour à tous,
Pour la fin de mon stage on me propose de réaliser un second projet, il s'agit de réaliser un système d'acquisition pour des applications dermatologiques…
L'appareil permettant de faire les acquisitions est le canon powershot a620.
Il existe un kit, le PSReCSDK fourni par canon.
Nous partons dans l'optique d'utiliser Qt. Avant d'acheter la version commerciale de Qt, nous voulons d'abord voir quelques résultats, donc
on utilise Qt Open Source avec MinGW.
J'ai donc le kit canon, composé de fichiers à inclure (les .h) ainsi qu'une bibliothèque que je suis censé ajouter au moment de l'édition des liens…
Tout compile bien, sauf au moment de l'édition des liens, j'obtiens l'erreur suivante : main.cpp: undefined reference to _imp__PR_StartSDK@0
J'ai mis le minimum de code dans mon application afin de bien identifier l'erreur : je tente juste de démarrer le kit.
mon fichier main.cpp
Et voici mon fichier .pro que j'utilise avec qmake sous MinGW.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <iostream> #include <prAPI.h> int main(int argc, char *argv[]) { PR_StartSDK(); }
Je reprécise bien que je n'ai fait l'appel qu'à cette seule fonction, pour bien m'assurer que c'est elle qui pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TEMPLATE = app TARGET += test DEPENDPATH += . INCLUDEPATH += c:\PSReCSDK\inc LIBS += c:\PSReCSDK\lib\PRSDK.lib SOURCES += main.cpp
Si quelqu'un a une idée, je suis preneur. Si ça peut mettre quelqu'un sur la bonne piste, j'ai lu qu'il pouvait s'agir d'une incompatibilité entre 2 compilateurs (celui qui a compilé les bibliothèques) et celui que j'utilise.
pour info, j'ai fait sous linux un strings PRSDK.lib :
je ne sais pas si le problème vient de la, mais le compilateur cherche _imp__PR_StartSDK et avec le commande strings, on voit qu'il s'agit de __imp__PR_StartSDK. (un _ de plus au début…)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 _PR_StartSDK@0 __imp__PR_StartSDK@0 _PR_FinishSDK@0 __imp__PR_FinishSDK@0
voilà, je prie pour que quelqu'un me sauve la vie…
Partager