IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Problème d'en-têtes


Sujet :

Qt

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut Problème d'en-têtes
    Bonjour à tous,

    Actuellement je programme une interface sous Qt.

    J'aimerais utiliser certaines fonctions d'une classe dont j'ai inclus le header : "Wrapper.h"

    Afin de créer un objet de cette classe, je me sers de cette ligne de code : Cette ligne devrait me permettre de créer un objet du nom de wrapper depuis la classe Wrapper.

    L'include est je pense bien pris en compte.

    Le compilateur me met deux erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    undefined reference to `Wrapper::Wrapper()'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    undefined reference to `Wrapper::~Wrapper()'
    Soit je déclare mal l'objet depuis la classe, soit il ne reconnait pas le header.

    Si vous avez des suggestions, n'hésitez pas.

    Merci d'avance.

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    En général, "undefined reference" signifie une erreur de "linkage" plutôt que de compilation proprement dite.
    En d'autres termes: le compilateur a bien compris que tu instancies un objet de classe Wrapper, il voit même de quelle classe il s'agit, mais il ne trouve pas le code qui implémente la classe. Par exemple, tu as peut-être oublié d'ajouter un fichier Wrapper.cpp à ton projet?

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    En fait normalement je ne dois pas mettre de .cpp pour l'objet wrapper.

    La méthode "Wrapper()" se trouve dans Wrapper.h

    Le problème c'est la compatibilité du SDK (Software Developpement Kit) du matériel que j'utilise. Est-il compatible avec QTcreator ?
    J'ai essayé de mettre les .dll nécessaire pour que le compilateur trouve l'objet wrapper mais rien n'y fait.

    Je vais tenter la manip sous Linux

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    La méthode "Wrapper()" se trouve dans Wrapper.h
    Vraiment? tu pourrais montrer le code de Wrapper.h ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    En voici une partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CLASS_TOKEN EXPORTED Wrapper : public BaseJavaClass // CPPClass.tag001
    {
    public: 
    	Wrapper();
    	WrapperExtensions getWrapperExtensions();
    	short exportToGramsSPC(int spectrometerIndex, JString& outputPathname, DoubleArray& pixels, JString& username);
    	short exportToGramsSPC(int spectrometerIndex, int channelIndex, JString& outputPathname, DoubleArray& pixels, JString& username);
    	JString getApiVersion();
    	int getBuildNumber();
    Apparemment, si des bibliothèques JAVA sont à mettre dans l'environnement QT en .jar ça ne serait pas possible

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    Donc il y a bien la déclaration de la classe Wrapper, mais il n'y pas son implémentation: le corps des méthodes.
    Visiblement, c'est une classe exportée genre à travers une DLL ou quelque chose comme ça. Je ne connais pas grand chose sur l'environnement ou le SDK que tu utilises, mais en général il y a un objet .lib à lier à ton projet.
    Ce .lib sert au linker pour lui dire "ces fonctions proviennent de telle DLL".

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    C'est exactement ce que tu me décris la.

    Dans le fichier .pro de mon projet, j'ai mis les librairies suivantes pour que le compilateur trouve les DLL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LIBS += -L"C:\test_spectro_4\OOI_HOME\\" -lcommon32 -lOmniDriver32 -lSPAM32 -lNatUSBWin_32
    Mais visiblement, j'ai toujours la même erreur.

    On m'a conseiller de tenter sous Linux puis de voir avec microsoft visual C++ par exemple mais ça serait mieux sous QTCreator bien entendu.

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 685
    Points
    685
    Par défaut
    \ est un caractères d'échappement dans un chaîne, donc il faut le doubler : \\

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    J'ai ajouté un "\" mais rien ne change l'erreur.

    Il y a un problème avec l'éditeur de lien peut être.

    Il me semble qu'il y ai deux fichiers .jar aussi à prendre en compte mais avec QTCreator je crois que ce n'est pas possible. En revanche, microsoft visual studio 2008 le programme à l'air de fonctionner. Je vais regarder de ce côté encore.

    Pourquoi le programme fonctionnerai sous microsoft visual studio 2008 et non sous QTCreator? (A noter que dans la doc du driver, il y a que des exemples pour microsoft et non pour QT... mais il est dit que OmniDriver et SPAM sont codés en JAVA et donc multiplatforme).

  10. #10
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Ce n'est pas parce que tu mets des mots tirés d'un dictionnaire dans une phrase en suivant la grammaire française que ça a du sens . Quelques poins :
    - les fichiers JAR, c'est pour Java (et les autres langages qui utilisent sa machine virtuelle), donc pas du tout en C++ /a priori/ — à moins de coder une interface spécifique, ce qui serait peu probable. Par contre, puisqu'il s'agit de communiquer avec un pilote, le JAR communique très probablement avec du code C ou C++ en natif, donc compilé pour chaque plateforme (bien que le fichier JAR puisse être partagé pour toutes les plateformes) ;
    - Qt Creator n'est pas un compilateur, mais un environnement de développement : il peut utiliser n'importe quel compilateur (en principe) ; de même, Visual Studio n'est qu'un environnement de développement (de base, il ne fonctionne qu'avec Visual C++). Par contre, GCC et Visual C++ sont des compilateurs ;
    - chaque compilateur définit sa manière de gérer les bibliothèques externes : tu as besoin d'un fichier .lib pour Visual C++ et .a pour GCC ; ce fichier donne au compilateur les informations pour utiliser correctement un DLL (ou SO sous Linux, ou…) et n'est pas le même selon que la DLL est en 32 ou 64 bits. Même dans le cas tordu où l'API C++ ne fait qu'appeler du code Java, il faut donc un tel fichier pour chaque compilateur ;
    - il serait intéressant de parler explicitement de la bibliothèque que tu tentes d'utiliser ; avec les mots clés donnés, ça doit être http://oceanoptics.com/product/omnidriver/.
    À mon avis, si tu n'arrives pas à utiliser ta bibliothèque dans ton projet Qt, c'est que tu compiles avec GCC (proposé par défaut lors du téléchargement de Qt) et que la bibliothèque à utiliser est compilée avec Visual C++.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    - chaque compilateur définit sa manière de gérer les bibliothèques externes : tu as besoin d'un fichier .lib pour Visual C++ et .a pour GCC ; ce fichier donne au compilateur les informations pour utiliser correctement un DLL (ou SO sous Linux, ou…) et n'est pas le même selon que la DLL est en 32 ou 64 bits. Même dans le cas tordu où l'API C++ ne fait qu'appeler du code Java, il faut donc un tel fichier pour chaque compilateur ;
    - il serait intéressant de parler explicitement de la bibliothèque que tu tentes d'utiliser ; avec les mots clés donnés, ça doit être http://oceanoptics.com/product/omnidriver/.
    À mon avis, si tu n'arrives pas à utiliser ta bibliothèque dans ton projet Qt, c'est que tu compiles avec GCC (proposé par défaut lors du téléchargement de Qt) et que la bibliothèque à utiliser est compilée avec Visual C++.
    Exacte, tu as raison sur ce point. Les .lib et .dll je les ai telechargé sur ce site : http://oceanoptics.com/support/software-downloads/

    Je vais tenter la manip suivante pour installer MSVC 2013 :

    Installation de Qt5.4 MSVC 2013
    * Installé Qt5.4 MSVC 2013 (dans la sélection des composants)
    * Telecharger et installé le Visual Studio Express 2013 for Desktop : http://www.visualstudio.com/en-us/downl … io-vs.aspx
    * Telecharger et installé Standalone Debugging Tools for Windows (WinDbg) : http://msdn.microsoft.com/en-us/windows … e/hh852365

    Par contre, j'ai déjà fait le test du code avec Microsoft Visual Studio 2008, les erreurs sont les suivantes :

    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
    1>------ Début de la génération : Projet : test_2, Configuration : Debug Win32 ------
    1>Édition des liens en cours...
    1>   Création de la bibliothèque D:\dev\ESSAIS_MCVS\essai_spectro\test_2\Debug\test_2.lib et de l'objet D:\dev\ESSAIS_MCVS\essai_spectro\test_2\Debug\test_2.exp
    1>Form1.obj : error LNK2028: jeton non résolu (0A000025) "public: __thiscall AbstractArray::AbstractArray(class AbstractArray const &)" (??0AbstractArray@@$$FQAE@ABV0@@Z) référencé dans la fonction "public: __thiscall ArrayOfArrays::ArrayOfArrays(class ArrayOfArrays const &)" (??0ArrayOfArrays@@$$FQAE@ABV0@@Z)
    1>Form1.obj : error LNK2028: jeton non résolu (0A000026) "public: class AbstractArray & __thiscall AbstractArray::operator=(class AbstractArray const &)" (??4AbstractArray@@$$FQAEAAV0@ABV0@@Z) référencé dans la fonction "public: class ArrayOfArrays & __thiscall ArrayOfArrays::operator=(class ArrayOfArrays const &)" (??4ArrayOfArrays@@$$FQAEAAV0@ABV0@@Z)
    1>Form1.obj : error LNK2028: jeton non résolu (0A0000A4) "public: virtual __thiscall EnvWrapper::~EnvWrapper(void)" (??1EnvWrapper@@$$FUAE@XZ) référencé dans la fonction "public: virtual void * __thiscall EnvWrapper::`scalar deleting destructor'(unsigned int)" (??_GEnvWrapper@@$$FUAEPAXI@Z)
    1>Form1.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall EnvWrapper::~EnvWrapper(void)" (??1EnvWrapper@@$$FUAE@XZ) référencé dans la fonction "public: virtual void * __thiscall EnvWrapper::`scalar deleting destructor'(unsigned int)" (??_GEnvWrapper@@$$FUAEPAXI@Z)
    1>Form1.obj : error LNK2019: symbole externe non résolu "public: __thiscall AbstractArray::AbstractArray(class AbstractArray const &)" (??0AbstractArray@@$$FQAE@ABV0@@Z) référencé dans la fonction "public: __thiscall ArrayOfArrays::ArrayOfArrays(class ArrayOfArrays const &)" (??0ArrayOfArrays@@$$FQAE@ABV0@@Z)
    1>Form1.obj : error LNK2019: symbole externe non résolu "public: class AbstractArray & __thiscall AbstractArray::operator=(class AbstractArray const &)" (??4AbstractArray@@$$FQAEAAV0@ABV0@@Z) référencé dans la fonction "public: class ArrayOfArrays & __thiscall ArrayOfArrays::operator=(class ArrayOfArrays const &)" (??4ArrayOfArrays@@$$FQAEAAV0@ABV0@@Z)
    1>Form1.obj : error LNK2019: symbole externe non résolu "public: struct JNIEnv_ * __thiscall JNIBridge::getJavaEnv(void)" (?getJavaEnv@JNIBridge@@QAEPAUJNIEnv_@@XZ) référencé dans la fonction "public: struct JNIEnv_ * __thiscall BaseJavaClass::getEnv(void)" (?getEnv@BaseJavaClass@@QAEPAUJNIEnv_@@XZ)
    1>Form1.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall BaseJavaClass::~BaseJavaClass(void)" (??1BaseJavaClass@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall BaseJavaClass::`scalar deleting destructor'(unsigned int)" (??_GBaseJavaClass@@UAEPAXI@Z)
    1>D:\dev\ESSAIS_MCVS\essai_spectro\test_2\Debug\test_2.exe : fatal error LNK1120: 8 externes non résolus
    1>Le journal de génération a été enregistré à l'emplacement "file://d:\dev\ESSAIS_MCVS\essai_spectro\test_2\test_2\Debug\BuildLog.htm"
    1>test_2 - 9 erreur(s), 0 avertissement(s)
    ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    Quel est la manipulation pour intégrer les .lib au projet? Autrement, si elles sont déjà considéré, les erreurs resteront celle-ci. (ils ont donné des exemples du code sous 2005-2006 aussi pour l'omnidriver)

  12. #12
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Pour simplifier les choses, côté Visual C++, le format de fichier n'a pas de compatibilité garantie entre versions, que ce soit ascendante ou descendante . Ça devrait continuer à fonctionner entre les différentes révisions d'une version (les Update de la 2013, par exemple), mais pas d'une version à l'autre. Donc, si ta bibliothèque est ancestrale et n'a plus vu un compilateur depuis VC 2008, il te faudra utiliser cette antiquité, donc recompiler Qt ou utiliser une version plus ancienne déjà compilée. (Maintenant, les messages d'erreur que j'ai eus à ce sujet sur la 2013 indiquaient clairement l’incompatibilité de version avec les fichiers 2012, étonnant que tu ne l'aies pas…)
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    Apparemment je n'ai pas encore eu de soucis oui. Je testerais avec 2005 ou 2006 pour voir plus tard quand j'aurais mes identifiants pour télécharger les produits microsoft via le partenariat mcirosoft-université.

    J'ai réussi à installer le compilateur MSVC 2013 avec la manip que j'ai décrite. Il a été toute suite reconnu par QTCreator.
    J'ai pu faire le test avec ce compilateur.

    Il me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LNK1181 : impossible d'ouvrir le fichier en entrée 'NatUSBWin_32.lib'
    C'est plus explicite que le compilateur WinGW mais le problème persiste encore.


    Un enseignant a pu faire les tests des fichiers téléchargeable à cette adresse : http://oceanoptics.com/product/seabreeze/

    A priori ceux-ci fonctionne mais pas le CD acheté pour l'occasion : le SDK !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 66
    Points : 42
    Points
    42
    Par défaut
    Bonjour,
    je me permets de relancer ce sujet car j'ai exactement le même soucis. j'essaye de connecter un spectro à une interface que je développe.
    Joffrey, as tu réussi a utiliser le sdk avec Qt?

    Comment ton enseignant as pu faire marcher les fichiers qu'il a téléchargé?

    Merci d'avance.
    ce qui ne te tue pas te rend plus fort

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    Avec Qt j'ai reussi mais sous windows et avec MSVC.
    Sous Linux, ca n'est pas possible je pense

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 66
    Points : 42
    Points
    42
    Par défaut
    Merci de ta réponse, je vais regarder de ce coté.

    As-tu un exemple du .pro correspondant?
    Quelle version de MSVC as tu utilisé?

    Tu as signalé dans un message précédent qu'un enseignant avais réussi avec les fichiers trouvés ici : http://oceanoptics.com/product/seabreeze/

    Il a réussi avec MinGw ou MSVC également?

    Merci d'avance de tes réponses.
    ce qui ne te tue pas te rend plus fort

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    As-tu un exemple du .pro correspondant?
    Regarde dans le manuel de programmation si tu veux dans un premier temps et suit les indications de la page 52 (chapitre developing in C/C++ (all IDEs). Je sais que je pdf est un peu long par contre...

    Quelle version de MSVC as tu utilisé?
    J'ai utilisé MSVC 2013 en installant microsoft visual studio 2013 community.

    Tu as signalé dans un message précédent qu'un enseignant avais réussi avec les fichiers trouvés ici : http://oceanoptics.com/product/seabreeze/
    Oui oui, tu veux développer avec OmniDriver ou Seabreeze?

    Il a réussi avec MinGw ou MSVC également?
    J'ai réussi avec MinGW si je ne me trompe pas mais je n'ai pas utilisé ceci.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 66
    Points : 42
    Points
    42
    Par défaut
    Regarde dans le manuel de programmation si tu veux dans un premier temps
    J'ai justement déjà regardé dans le manuel, c'est pourquoi je demande un bout d'exemple du .pro afin d'avoir une idée.

    voila mon .pro
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    QT       += core gui
     
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
     
    TARGET = spectrotest
    TEMPLATE = app
     
     
    SOURCES += main.cpp\
            mainwindow.cpp \
        util.cpp \
    
     
     
    HEADERS  += mainwindow.h \
           util.h \
        api/DllDecl.h \
        api/SeaBreezeWrapper.h \
        common/Log.h \
        api/seabreezeapi/SeaBreezeAPIConstants.h
     
     
     
     
    FORMS    += mainwindow.ui
     
     unix|win32: LIBS += -L$$(OMNIDRIVER_HOME)\include \
                        -L$$(OOI_HOME) \
                         -L$$(JAVA_HOME)\include \
                        -L$$(JAVA_HOME)\include\win32
     
    LIBS += -lcommon64 -lOmniDriver64 -lcommon32 -lOmniDriver32
     
    INCLUDEPATH += $$(OMNIDRIVER_HOME)\include \
                    $$(OOI_HOME) \
                    $$(JAVA_HOME)\include \
                    $$(JAVA_HOME)\include\win32
     
    win32: LIBS += -L"C:\Program Files\Ocean Optics\SeaBreeze\Library"
    LIBS += -lSeaBreeze
     
    INCLUDEPATH += C:\Program Files\Ocean Optics\SeaBreeze\Library\
    DEPENDPATH += C:\Program Files\Ocean Optics\SeaBreeze\Library\
    Oui oui, tu veux développer avec OmniDriver ou Seabreeze?
    L'un ou l'autre peut importe j'ai juste besoin de me connecter, d'acquerir les valeurs et de clore le spectro. Je pense néanmoins que Seabreez serait plus simple car je voudrais l'utiliser avec Qt et MingW

    J'ai réussi avec MinGW si je ne me trompe pas mais je n'ai pas utilisé ceci.
    As tu moyen d'avoir un exemple de cette utilisation? Merci d'avance
    ce qui ne te tue pas te rend plus fort

  19. #19
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 374
    Points : 47
    Points
    47
    Par défaut
    Voici un exemple de mon .pro Qt pour compiler OmniDriver avec MSVC 2013 :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #-------------------------------------------------
    #
    # Project created by QtCreator 2015-06-08T14:02:48
    #
    #-------------------------------------------------
     
    QT       += core gui
     
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
     
    DEFINES += WIN32
     
    CONFIG += c++11
     
    TARGET = projet_logiciel
    TEMPLATE = app
     
    SOURCES += main.cpp\
        sauvegarde_fichier.cpp \
        onglet_acquisition.cpp \
    
    HEADERS  += logiciel.h \
        communication_spectro.h
     
    FORMS    += logiciel.ui
     
    INCLUDEPATH += "C:\Program Files (x86)\Java\jdk1.8.0_51\include"
    INCLUDEPATH += "C:\Program Files (x86)\Java\jdk1.8.0_51\include\win32"
     
    INCLUDEPATH += "C:\Program Files\Ocean Optics\OmniDriverSPAM\include"
    LIBS += -L"C:\Program Files\Ocean Optics\OmniDriverSPAM\OOI_HOME" -lOmniDriver32
    LIBS += -L"C:\Program Files\Ocean Optics\OmniDriverSPAM\OOI_HOME" -lcommon32
    Voila, je ne peux pas t'aider plus que ça, je ne viens pas d'une formation purement info.

    Bon courage à toi.

Discussions similaires

  1. [CR XI]Problème d'en-tête de page
    Par bebert13 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 23/03/2007, 23h19
  2. Problème d'en-têtes sur toutes les pages
    Par cladoo dans le forum Mise en forme
    Réponses: 1
    Dernier message: 04/03/2007, 13h14
  3. Problème d'en-têtes (headings)
    Par Djezz dans le forum Mise en forme
    Réponses: 4
    Dernier message: 06/10/2006, 09h41
  4. [pg_restore] problème d'en-tête
    Par petitpasdelune dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2006, 10h49
  5. [CR11] Problème d'en-tête de page.
    Par Machuet dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 07/07/2005, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo