Probleme acces carte PCI - C++ - Programmation
Marsh Posté le 02-12-2005 à 10:29:46
#using c'est pour une dll .Net.
Vire le, et crée bien un projet C++ normal, pas .Net.
Inclus le header de ta lib, ce que tu as fait je crois, et après compilation & link tu te paye une erreur de link normalement. Pour la résoudre, ajoute le .lib de ta lib à ton projet, et voilà.
Marsh Posté le 02-12-2005 à 10:58:49
Le probleme est la justement, le fabricant ne m'as pas fournit de .lib mais juste la dll ( c'est un fournisseur americain et il me certifie qu'on peut coder sans le .lib)
Marsh Posté le 02-12-2005 à 13:23:19
Bienvenue dans le monde des LoadLibrary, GetProcAddress et autres joyeusetés
Marsh Posté le 02-12-2005 à 13:32:44
JMD34 a écrit : Le probleme est la justement, le fabricant ne m'as pas fournit de .lib mais juste la dll ( c'est un fournisseur americain et il me certifie qu'on peut coder sans le .lib) |
Et bien demande lui comment. On peut oui, mais c'est casse couille, et c'est pas normal quand on paye, surtout que ça lui coûte rien de filer le .lib
Marsh Posté le 02-12-2005 à 14:48:00
c'est en cours mais les exemples qu'il m'a envoyé ne sont pas pour mon environement et à chaque fois il manque des librairies ou des headers.
c'est la galere
donc j'ai pensé à refaire les acces à la carte mais comme dit initialement, je ne connais pas les fonctions "Windows XP" du style de "mmap_device_memory" que j'utilise sous QNX
Marsh Posté le 02-12-2005 à 16:11:27
La dll fournie sert précisément à ne pas te cogner cela.
C'est Windows qui s'occupe du mapping mémoire. Toi tu (enfin la dll normalement) communiques avec le driver comme s'il s'agissait d'un fichier, ou alors via DeviceIoControl, et là les codes à envoyer sont spécifiques à chaque driver.
Il te faut utiliser cette dll. Le faire dynamiquement via LoadLibrary/GetProcAddress/FreeLibrary est beaucoup beaucoup moins compliqué que ce que tu souhaites faire.
Marsh Posté le 02-12-2005 à 16:32:52
Sinon y a moyen de générer la lib d'après la dll avec certains programmes (genre implib), après ça dépend aussi de comment est compilée la dll
Marsh Posté le 05-12-2005 à 11:53:19
Ok merci a tous, j'arrive à acceder à la dll avec les fonctions LoadLibrary/GetProcAddress/FreeLibrary .
Marsh Posté le 02-12-2005 à 09:50:52
Bonjour,
J suis confronté à un probleme d'accces a une carte PCI, le fabriquant m'a fournit juste une DLL et un header. je ne sais pas comment l'inserer dans un projet VISUAL.NET. j ai naturellement ajouté le header au projet et ajout l'include dans le fichier C++ approprié. mais l"edition de lien ne passe pas.
Le header contient bien les fonctions requise sous la forme suivante:
j ai essayé d'ajouté la DLL avec
mais la compilation ne passe pas (probleme d'option du compilateur)
en desepoire de cause j ai voulu accedé directement (sans les driver du fournisseur) à la memoire partagée de la carte mais je ne connais pas les fonction sous Windows XP pour lire et ecrire dans les adresses memoires des ressources materielles
voila si quelqu'un peu me donné des pistes je l'en remerci
Jean Michel