Discussions au sujet des autres produits NI

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

Compilation librairie statique VS2013 sous CVI

Bonjour a tous,

j'ai un soucis lors de l'exécution de mon programme avec CVI lorsque j'utilise une librairie statique en C compilée avec Visual Studio. Est ce possible de trouver une alternative pour pouvoir utiliser cette librairie sous CVI, en passant par une DLL par exemple ? 

 

Merci pour vos réponse !

0 Compliments
Message 1 sur 7
5 246 Visites

Bonjour,

 

La librairie statique compilée sous VS, tu as le code source?

J'imagine que non, sinon tu l'aurais déjà incrusté (le code source) dans ton projet CVI...

 

C'est quoi les soucis?

Quelles erreurs sont remontées?

0 Compliments
Message 2 sur 7
5 235 Visites

Bonjour,

Merci pour votre réponse, non malheureusement je ne l'ai pas, effectivement, je me serais débrouillé pour pouvoir le compiler sous CVI. Le problème est qu'il n'accède pas à certaines librairies ou certaines définitions qui, je pense, sont propres à VS, voici les erreurs retournées par CVI :

2 Project link errors
Undefined symbol '__imp___iob' referenced in "rtsexe.lib".
Undefined symbol '__except_list' referenced in "rtsexe.lib".

 

rtsexe.lib etant la librairie que je souhaite intégrer à mon projet CVI. Je tiens à préciser que cette librairie est fonctionnelle sous VS.

0 Compliments
Message 3 sur 7
5 226 Visites

ah..

à priori, ta bibliothèque est compilée pour être utilisée en dynamique.

Ci-joint un lien sur lequel je suis tombé en cherchant sur tes erreurs :

http://openclassrooms.com/forum/sujet/mon-programme-ne-fonctionne-que-sur-mon-pc-80980

 

J'ai pas tout lu dans ce lien, il y a peut-être d'autres infos qui pourraient t'intéresser.

 

0 Compliments
Message 4 sur 7
5 220 Visites

J'ai laissé tomber l'idée d'essayer d'utiliser cette librairie, mais pour palier a ce problème je dois générer une dll d'un projet CVI. Et la ca coince, le projet en question contient une interface graphique, des librairires écrites sous CVI ansi que des librairires propres à CVI (fichier .fp). Ce que voudrait réussir a faire c'est de pouvoir tout englober dans ma dll pour pouvoir l'utiliser sous Visual Studio, comment procéder ?

0 Compliments
Message 5 sur 7
5 215 Visites

là j'avoue que ça sort de mes compétences..

 

En tout cas, tout dépend des deux projets CVI et VS.

Y'a t'il des liens dynamiques à créer entre les deux?

Y'a t'il des gestions évènementielles dans les deux?

Des boucles asynchrones?

 

Après, j'imagine que LoadExternalModule() ça marche aussi sous VS? quoique je sais plus si c'est pas la version obsolète...

0 Compliments
Message 6 sur 7
5 206 Visites

Bonjour,

 

Le fait d'utiliser une interface utilisateur ou des .fp ne pose pas de problème pour la création d'une DLL si tant est que les bons liens sont établis (de toute façon, c'est nécessaire pour la compilation). Selon les options de compilations, les fichiers .uir ou .fp seront intégrés à la DLL. Les diverses bibliothèques annexes seront aussi exportées à côté de la DLL.

L'appel depuis Visual Studio ne devrait alors pas poser de problème. Il faut seulement s'assurer que le run-time engine de CVI est installé sur la machine où est installé Visual.

 

Un vieux lien mais toujours d'actualité :

http://www.ni.com/tutorial/7251/en/

Autre lien pour les appels de DLL utilisant une UIR :

- http://www.ni.com/example/26354/en/

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 7 sur 7
5 133 Visites