LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Compilation d'un projet avec le Microsoft Platform SDK notamment le répertoire CRT

Je souhaite compiler un projet développé sous VISUAL C++ sous Labwindows CVI en effet, je souhaite utiliser cette environnement plutot que celui de VISUAL.

 

Le SDK Windows par défaut de CVI 7.0 ne contient pas le répertoire CRT.


J'ai donc ajouté le répertoire de Microsoft Platform SDK dans les includes de l'environnement du projet.

 

Le problème, c'est que certaines fonctions CRT ne sont pas comprises notamment _snprintf, _ftime, _write, _setmode, ...

 

Pour information, le projet exemple de GSOAP compilé sous VISUAL C++ fonctionne correctement.

 

Je ne comprend pas pourquoi cela ne fonctionne pas sous Labwindows.

 

Comment ajouter des fonctions du module CRT sans avoir l'erreur Bad Header encountered while reading external module?

 

 

Merci d'avance pour vos réponses

0 Kudos
Message 1 of 4
(3,908 Views)

ajouter un include n'est pas suffisant: le platform SDK contient les includes mais aussi les librairies. il faut ajouter le répertoire lib dans les chemin.

 

malheureusement, "stdio.h" fait partie du runtime C, et le runtime dépend du compilateur. Microsoft a son propre runtime, CVI a le sien, et bien sur il ne sont pas compatibles. je ne connais aucun moyen d'utiliser le runtime microsoft avec le compilateur CVI. comme expliqué dans l'autre message, les fonctions dont le nom commence par un '_' ne sont pas des fonctions standards et donc ne sont pas incluses dans tous les runtime. ces fonctions n'etant pas standard, il y a peu de chance de pouvoir compiler un projet qui les utilisent avec un compilateur différent de celui pour lequel le projet a ete écrit. bien entendu, on peu trouver une fonction équivalente, ou contourner le probleme, mais cela necessite d'editer le code qui fait appel a ces fonctions. snprintf est un bon exemple: faites une recherche sur snprintf sur ce forum et vous trouverez des liens vers des implementations alternatives.

 

au fait, a quel moment rencontrez vous l'erreur "Bad Header encountered while reading external module" ?

 

 

0 Kudos
Message 2 of 4
(3,904 Views)

Je vous remercie pour votre réponse rapide.

 

Votre message confirme ce que j'avais pu observer. Le compilateur de CVI est différent du celui de VISUAL C++.

 

J'observe l'erreur bad header lorsque j'essaie d'ajouter le msvcrt.lib mais je pense que ce n'est pas la bonne solution.

 

J'ai remarqué dans la version 9.0 de CVI la possibilité d'utiliser un compilateur externe.

Est-ce que je pourrais utiliser le compilateur de VISUAL C++ 2005 dans ce cas?

 

J'utilise le SDK (Microsoft Platform SDK, Microsoft Serveur 2003 SP1 SDK). Est-ce que ce SDK est compatible avec VISUAL C++ 2005?

 

Merci d'avance

 

0 Kudos
Message 3 of 4
(3,901 Views)

avec CVI 9.0 (et peut etre meme les version 8.0) il y a la possibilité d'utiliser un compilateur externe, mais je n'ai jamais testé cette possibilité, je ne pourrais donc pas vous en dire plus. (je préfère utiliser Visual Studio si l'on m'en donne le choix).

 

le SDK de Windows 2003 SP1 fonctionne sans souci avec Visual Studio 2005. je pense meme que c'etait la version actuelle du SDK lorsque ce compilateur est sorti.

0 Kudos
Message 4 of 4
(3,885 Views)