Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

C++ in labview 8.2

Bonjour,
 
Je dispose d'un programme écrit en C++ (dans un fichier.txt), et je souhaiterai "transformer" en .VI afin de faire tourner ce programme dans labview.
 
Je suis bloqué à la première étape, c'est à dire, à l'importation du .dll et du .h .    J'ai essayé de renommer le .txt que j'ai, en .dll et en .h, mais j'obtiens le message suivant :
 
"Le fichier de bibliothèque partagée n'est pas valide. Les seules informations obtenues sur la fonction proviennent de l'analyse du fichier d'en-tête.
Pour corriger ce problème, spécifiez un autre fichier de bibliothèque partagée valide ou cochez l'option Le fichier de bibliothèque partagée ne se trouve pas sur l'ordinateur local. Pour cela, retournez à la page Sélectionnez la bibliothèque partagée et le fichier d'en-tête.
Le ou les fichiers d'en-tête suivants sont introuvables dans le fichier d'en-tête spécifié ou l'un des fichiers d'en-tête de référence :
-  formatio.h
-  gpib.h
-  analysis.h
-  ansi_c.h
-  utility.h
-  easyio.h
-  userint.h
-  NIDAQmx.h
-  DAQmxIOctrl.h
-  Flowrate.h
-  Flowrate_test.h
Pour corriger ce problème, ajoutez le fichier d'en-tête à la liste de chemins à inclure. Pour ajouter le fichier d'en-tête à la liste, retournez à la page précédente en cliquant sur le bouton Précédent.
Les symboles suivants ne sont pas définis :
NO_STRICT;STRICT;_CVI_;_CVI_DEBUG_;_CVI_USE_FUNCS_FOR_VARS_;_NI_WC_;_NI_hpux_;_NI_mswin16_;_NI_mswin32_;_NI_sparc_;_NI_unix_;__BORLANDC__;__NT__;__SVR4;__WATCOMC__;__WIN32__;__cplusplus;__hp9000s700;__hppa__;__hpux;__sparc;sparc
Des symboles non définis peuvent empêcher la reconnaissance des fonctions et des paramètres. Pour corriger ce problème, examinez le fichier d'en-tête et vérifiez les symboles qui devraient être ajoutés comme symboles prédéfinis. Si certains symboles doivent être prédéfinis, cliquez sur le bouton Précédent pour retourner à la page précédente de l'assistant et ajouter le symbole prédéfini (par exemple, "NIAPI _stdcall" ou "NIAPIDefined=1").
Les identificateurs suivants ne sont pas reconnus comme des déclarations.
waveformType; data; datameasurement; voltage; correlation; dataaverage; taskHandlevoltage; written; sampsPerChan; numRead; time1; panelHandle; taskHandle2; dataindex; correlationmax; correlationmax2; flowratestring1; flowratestring2; flowratestring3; file; filename;
Pour chaque identificateur non reconnu, vérifiez que :
1.  L'identificateur est inclus dans le ou les fichiers d'en-tête et déclarés dans les symboles prédéfinis et les instructions à compilation conditionnelle (par exemple, "#ifdef NIAPI stdcall" ou "#if NIAPIDefined").
2.  Si l'identificateur est défini comme symbole prédéfini ou compilé sur condition, le symbole devrait être ajouté à la liste de symboles prédéfinis. Vous pouvez cliquer sur le bouton Précédent pour retourner à la page précédente de l'assistant et ajouter le symbole prédéfini (par exemple, "NIAPI stdcall" ou "NIAPIDefined=1")"
 
 
en cochant la case "Le fichier de bibliothèque partagée ne se trouve pas sur l'ordinateur local" , j'obtiens le message suivant :
 
"Le ou les fichiers d'en-tête suivants sont introuvables dans le fichier d'en-tête spécifié ou l'un des fichiers d'en-tête de référence :
-  formatio.h
-  gpib.h
-  analysis.h
-  ansi_c.h
-  utility.h
-  easyio.h
-  userint.h
-  NIDAQmx.h
-  DAQmxIOctrl.h
-  Flowrate.h
-  Flowrate_test.h
Pour corriger ce problème, ajoutez le fichier d'en-tête à la liste de chemins à inclure. Pour ajouter le fichier d'en-tête à la liste, retournez à la page précédente en cliquant sur le bouton Précédent.
Les symboles suivants ne sont pas définis :
NO_STRICT;STRICT;_CVI_;_CVI_DEBUG_;_CVI_USE_FUNCS_FOR_VARS_;_NI_WC_;_NI_hpux_;_NI_mswin16_;_NI_mswin32_;_NI_sparc_;_NI_unix_;__BORLANDC__;__NT__;__SVR4;__WATCOMC__;__WIN32__;__cplusplus;__hp9000s700;__hppa__;__hpux;__sparc;sparc
Des symboles non définis peuvent empêcher la reconnaissance des fonctions et des paramètres. Pour corriger ce problème, examinez le fichier d'en-tête et vérifiez les symboles qui devraient être ajoutés comme symboles prédéfinis. Si certains symboles doivent être prédéfinis, cliquez sur le bouton Précédent pour retourner à la page précédente de l'assistant et ajouter le symbole prédéfini (par exemple, "NIAPI _stdcall" ou "NIAPIDefined=1").
Les identificateurs suivants ne sont pas reconnus comme des déclarations.
waveformType; data; datameasurement; voltage; correlation; dataaverage; taskHandlevoltage; written; sampsPerChan; numRead; time1; panelHandle; taskHandle2; dataindex; correlationmax; correlationmax2; flowratestring1; flowratestring2; flowratestring3; file; filename;
Pour chaque identificateur non reconnu, vérifiez que :
1.  L'identificateur est inclus dans le ou les fichiers d'en-tête et déclarés dans les symboles prédéfinis et les instructions à compilation conditionnelle (par exemple, "#ifdef NIAPI stdcall" ou "#if NIAPIDefined").
2.  Si l'identificateur est défini comme symbole prédéfini ou compilé sur condition, le symbole devrait être ajouté à la liste de symboles prédéfinis. Vous pouvez cliquer sur le bouton Précédent pour retourner à la page précédente de l'assistant et ajouter le symbole prédéfini (par exemple, "NIAPI stdcall" ou "NIAPIDefined=1")"
 
 
 
Pourriez-vous m'aider s'il vous plait ??
 
Merci d'avance,
 
Nicolas J.
 
0 Compliments
Message 1 sur 2
3 461 Visites
Bonjour,

Tout d'abord, êtes vous sûr que le code que le code dont vous disposez a été écrit en C++?
En effet l'environnement de Labwindows est conçu pour du développement en langage C ANSI.

De plus il semble que votre fichier soit un fichier texte. Ce fichier pourrait correspondre au code source de l'application et non à une version compilée. Une DLL est issue de la compilation d'une application, au même titre qu'un exécutable.
Pour plus d'information sur les bibliothèques partagées je vous encourage à lire le lien suivant.

Concernant la création de DLL à partir de Labwindows veuillez vous réferer au forum suivant.
Et pour l'import de DLL sous Labview au document suivant. Cet exemple montre l'utilisation d'une DLL développée en C sous Labview.

En espérant que ces informations vous aideront.

Pierre R...

Certified LabVIEW Developer
Message 2 sur 2
3 442 Visites