dll pour le port parallele, need help ! [VC++] - Programmation
Marsh Posté le 04-12-2001 à 00:33:31
tu doit ajouter le .lib dans la liste des .lib qu'il y a dans project setting / Linker
Marsh Posté le 04-12-2001 à 01:52:36
oui j'ia fait cela mais cela ne change rien
pourtna mon .lib est bien dans le répertoire racine ..
je comprend rien
et j'ai pas le temps en plus
Marsh Posté le 04-12-2001 à 09:26:18
Moi j'avait eu ca une fois et ca venait du fait que j'avait nommé mon fichier truc.c et pas truc.cpp ... alors essaye d'inverser tes extensions ..
Sinon, y a aussi peut etyre la convention d'appel __fastcall, __stdcall ou __cdecl a changer dans les options
Marsh Posté le 04-12-2001 à 09:28:04
voui, tiens, la fonction SetHardAccess tu l'as dans ton source (ou pas du tout ?)
si jamais elle est dans un source n .c alors renomme le .cpp (thks 246tNt )
Marsh Posté le 04-12-2001 à 09:51:17
chrisbk oui ily a une librairie. i l y a meme u nexemple complet en C .. et moi mon prog est en c++ (avec mcf)
et comme j'a icrée un clase pour faire l'acces au port je suis bien dans un .cpp
SetHardAccess je ne l'ai pas dans mon source, elel est uniquement déclaré dans un fichier .h que j'ai inlcu biensur.
si quelqu'un a un peu de temps qu'il dl le pti sample ici : http://users.skynet.be/k-net/ParPort/tvicport.zip
ça prend 10s
merci.
Marsh Posté le 04-12-2001 à 09:54:28
dans TVICPORT.H, decommente le bloc :
//#ifdef __cplusplus
// extern "C" {
//#endif // __cplusplus
Marsh Posté le 04-12-2001 à 09:57:52
ok j'essayerai ..
la je suis en Projet a mon école .. mais j'ai VC++ que chez moi.
merci chrisbk
ce que je comprend pas c'est que dans le programme initial cela fonctionne bien .. mais une fosi dans le miens ça déconne
j'ai meme cahnger les optiosn de compilation pour metre les memes que le sample.
Marsh Posté le 04-12-2001 à 10:00:33
ben parce que le programme initial est en C, et la lib fourni a les fonction mais en C
en C++, les fonctions sont decores (parce que tu peux les surcharger, le nom seul de la fonction ne suffit plus a l'identifier)
Alors visu cherche la fonction "void __stdcall SetHardAccess(unsigned char)" (?SetHardAccess@@YGXE@Z)" (note le bins de la decoration apres le nom) et dans la lib il ne trouve que la version C, non decore (_SetHardAccess)
bref ca colle pas
(qu'on me reprenne si je me plante)
Avec le extern C tu specifie que ce qu'il y a est declare avec la convention C (tu pourras pas surcharger tes fonction par ex), et la il devrait pouvoir y retrouver les petits
(perso je me demande pkoi le bout a ete commente)
[edtdd]--Message édité par chrisbk--[/edtdd]
Marsh Posté le 04-12-2001 à 10:04:57
ok je comprend le gros du principe ..
c clair que moi je comprend encore moins mais bon
je te redirai cela ce soir .. si cela fonctionne
Marsh Posté le 04-12-2001 à 21:20:17
chrisbk c'était bien cela en effet
merci bcp tu me sauves là
pour faire simple ce programme va servir a piloter uen carte électronique, laquelle envoie les information du pc sur un magnétoscope.
le but est de faire un système permettant de sauvegarder des données du pc sur une K7 vidéo et vice versa .. (récuop les données) ..
c'est un projet un peu fou que l'on a choisi mais bon
a+
merci encore
Marsh Posté le 03-12-2001 à 23:42:46
voila j'ai déja rechercher sur le forum commetn piloter un port // depuis Nt ou win 2000
j'utilise Visual C++ 6.0
j'ai trouvé cette page : http://users.skynet.be/k-net/ParPort/index.html
et sur celel ci ce programme : http://users.skynet.be/k-net/ParPort/tvicport.zip
le programme marche bien mais je n'arrive pas a me servir de la Dll
j'ai bien mis les .h et le .lib (j'ai juste fait add file to project)
mais j'obitien lors de la copilation ce msg :unresolved external symbol "void __stdcall SetHardAccess(unsigned char)" (?SetHardAccess@@YGXE@Z)
ça fait 2-3 heures que je cherche pkoi ça déconne en vaim je suis débutant alors c'est peut etre évident pour vous.
merci.