Tout d'abord, Merci les gars c'est vraiment sympa de me donner un coup de pousse.
Bon alors dans l'ordre des questions :
gilou : CVI est un soft de "National instrument" plutot dédié au monde de l'industrie c'est un IDE reposant entierement sur le C tu achete les librairie a la carte, certaines servent d'interface pour diverses capteurs de mesure, ce que je trouve genial avec CVI en tant que débutant, c'est que tu peux avec une facilitée enfantile créer des interfaces utilisateurs, tout se fait a la souris, ca t'ouvre pour chaque ellement de l'IUM une fenetre de parametres que tu saisi et ca te genere le code, a l'inverse depuis le code tu peux retourner dans ces fenetres de parametres, c'est tres intuitif et simple d'utilisation. Tu peux d'un simple clic demander a CVI qu'il te genere une dll compatible visual.
pour le lib, bah c'est un projet dll win32 donc quand je compile , oui ca me genere un .lib et voici comment apres j'importe ma dll :
tout d'abord je copie le .dll dans system32, le .lib dans /lib/ de visual et dans /extlib/ de CVI, et enfin le .h dans /include/ de visual et de CVI.
je fais dans mon code un #include "madll.h", et dans les proprietes de mon projet, editeur de liens, entrée, dépendance supplementaire je met : madll.lib
c'est le seul moyen que je connaisse a l'heure actuelle pour importer la dll. Petite précision, dans cvi je n'ai pas trouvé d'endroit où l'on peut specifier le .lib, j'ai placé ce fichiers dans le repertoire extlib, j'ai egallement essayé en le placant dans le répertoire du projet comme ca a été fait dans le code que l'on m'a donné en exemple et qui lui fonctionne.
fli : oui moi aussi je pense que ca doit etre un parametre a la con dans mon projet visual qui pose probleme et voici pourquoi je pense ca :
si je me base sur l'exemple qui m'a été donné, et que je laisse tous les parametres du projet de ma dll par defaut, j'arrive a compilé mais quand je crée un nouveau projet console dans visual et que je tente d'importer puis utiliser les fonctions de ma dll, alors le compilateur de visual me sort la meme erreure de compilation que sous CVI : undefined symbol '_InitGdiplus@0' not defined in main.c
du coup j'ai comparé 1 a 1 les parametre du projet donné en exemple avec ceux d'un projet vide et grace a ca, j'ai résolu le probleme sous visual, mais je le répéte sous CVI le probleme reste entier.
voici les parametres concernés (je les ai betement tous relevés certains sont plus que certainement inutile, principalement concernant les chemins avec Debug, mais bon...):
Général:
Repertoire de sortie: .\Debug
Repertoire intermediaire : .\Debug
C/C++:
General : Detection des PB de portabilité : non
Generation de code:
Activation de la régénération minimale : Non
Entete précompilé:
Creation/Utilisation d'un entete précompilé: Générer Automatiquement
Creation/utilisation d'un en-tete précompilé en specifiant un nom de fichier : stdAfx.h
Fichier d'entete précompilé : .\Debug/NomDeLaDll.pch
Fichier de Sortie:
Emplacement d'un listing ASM : .\DEbug/
Nom de fichier objet : .\DEbug/
Nom de fichier objet : .\DEbug/
Informations de consultation :
Activation des informations de consultation : Inclure toutes les informations de consultation
Fichier du navigateur : $(IntDir)/
Editeur de liens:
General :
Fichier de sortie : .\Debug/NomDeLaDll.dll
Activation des liens incrémentiels: Non
Suppresion de la banniere de démarrage : Oui
(option) taper la version de la dll au format %d.%d où %d = nombre entier de 0 a n
Deboguage :
Génération d'un fichier de base de données du programme : .\Debug/NomDeLaDll.pdb
Systeme :
Sous Systeme : Non Défini
Avancé :
Biblioteque d'importation : .\Debug/NomDeLaDll.lib
Informations de consultation : Général:
Fichier de Sortie : .\Debug/NomDeLaDll.bsc
|
si pour l'un de ces parametres vous savez quelles concequences cela peut avoir sur mon probleme pourriez vous me l'expliquer brievement?
Message édité par giova le 26-04-2004 à 10:54:47