IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Cr�er une dll de la libmodbus (C++ builder 10.1 Berlin)


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut Cr�er une dll de la libmodbus (C++ builder 10.1 Berlin)
    Bonjour,

    Je voudrais dialoguer avec un esclave (module d'entr�es/sorties) sur (USB �) RS485 en modbus RTU, pour le piloter avec un automate logiciel (https://sites.google.com/view/apimou/accueil).

    Je pense que la solution la plus rapide et la moins on�reuse est d'utiliser la libmodbus (libmodbus.org/documentation/).

    Sous C++ builder 10.1 Berlin j'ai essay� de cr�er les .lib et .dll, mais �a ne marche pas et je patauge.

    J'ai suivi les indications figurant dans ce topic (https://www.developpez.net/forums/d1...libmodbus-xe3/) mais rien n'y fait, j'ai plein d'erreurs dans ws2def.h et winsock2.h.

    Quelqu'un aurait-il une id�e ?

    Merci.

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    il semblerait qu'il y ait de grandes diff�rences entre RadStudio 10.1 starter et les versions pr�c�dentes (2010)
    en effet sous 2010 aucune probl�me pour g�n�rer la librairie ce qui n'est plus le cas dans RadStudio 10.1
    un bug...
    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  3. #3
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut
    Bon... je vais chercher une autre solution. Merci !

  4. #4
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut
    Bon, finalement �a compile, mais il faut prendre les sources ici : https://github.com/stephane/libmodbus.

    Apr�s il faut bidouiller un peu, entre autres j'ai d� mettre en commentaires des lignes relatives aux versions major/minor/micro (?). Je n'ai pas renomm� les fichiers en rempla�ant "-" par "_", pas ajout� de directive de compilation et pas int�gr� ws2_32.lib au projet (on verra). Bref, j'ai pas tout capt� (voire rien) mais j'ai un .lib et un .dll.

    Je ne sais pas encore si �a fonctionne, je ferai un retour.

  5. #5
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    j'ai continu� � investiguez sur cette probl�matique
    mes conclusions sont les suivantes:
    1. En absence de directive de compilation une DLL ainsi qu'un LIB est g�n�r� mais malheureusement vide
    2. Du a certains changements dans le SDK la version 2010 n�cessite la librairie WS32 ce qui n'est pas n�cessaire avec les versions ult�rieurs de RadStudio
    3. Si ta dll doit �tre compatible avec d'autres compilateurs (MING,MS) le pr�fixe d'appel de fonctions doit �tre _STDCALL
    4. Pour g�n�rer correctement ta dll il est n�cessaire d'ajpouter la directive de compilation DLLBUILD
    5. j'ai g�n�rer 1 DLL et sa librarie en mode Debug et Release


    pour modifier l'appel de fonctions : Nom : ConfigCompilateur.PNG
Affichages : 439
Taille : 15,5 Ko

    pour ajouter une directive de compilation :Nom : DirectiveCompilation.PNG
Affichages : 508
Taille : 13,6 Ko

    ci-joint un ZipFile contenant le projet ainsi que les fichier (.H)que j'ai du modifier
    contenant le projet les DLL et .LIB


    cordialement
    Fichiers attach�s Fichiers attach�s
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  6. #6
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut
    Excellent, j'essaye tout �a, merci beaucoup !

  7. #7
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut
    Je crois que je vais passer pour un boulet, mais j'aurais encore besoin de ton aide...

    Je veux utiliser la DLL en lien implicite :

    - j'ai ajout� au projet le .lib,
    - j'ai mis le .dll dans le r�pertoire de mon projet,
    - dans le .cpp de ma fiche, je d�clare le prototype des fonctions que je veux utiliser, par exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    extern "C" __declspec(dllimport) modbus_t *modbus_new_rtu(const char *, int , char , int , int );
    Bon, �a ne marche pas, je me doute qu'il y a un probl�me avec le modbus_t

    Si j'essaye avec une autre fonction qui n'implique pas de structure, par exemple
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    extern "C" __declspec(dllimport) void modbus_set_float(float , uint16_t *);
    �a ne marche pas non plus.

    Je confesse que j'ai un peu un niveau ras des paquerettes, pourrais-tu me mettre sur la voie ?

    Merci.

  8. #8
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut,
    Si tu a utili� la dll fournie,la convention d'appel est __stdcall ce qui signifie que ton application doit �galement utilis� cette convention
    si tu utilise la library fournie, il suffit de rajouter � ton application le fichier d�ent�te Modbus.h

    Autrement tu peux � l'aide du projet fournit une nouvelle dll et library avec la convention d'appel C

    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  9. #9
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Par d�faut
    �a y est, les relais claquent !
    Mille MERCI pour ton aide !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Comment cr�er une dll � parti d'un programme en C
    Par laetous dans le forum Windows
    R�ponses: 5
    Dernier message: 02/09/2006, 11h05
  2. [VB6]comment cr�er une dll
    Par kboo dans le forum VB 6 et ant�rieur
    R�ponses: 1
    Dernier message: 12/04/2006, 14h32
  3. Comment (ou peut on) cr�er une DLL .NET ?
    Par Mickey.jet dans le forum Delphi .NET
    R�ponses: 4
    Dernier message: 02/04/2006, 15h54
  4. Comment cr�er une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    R�ponses: 8
    Dernier message: 16/06/2005, 15h38
  5. [MFC]Cr�er une DLL BIS
    Par Furtif_00 dans le forum MFC
    R�ponses: 5
    Dernier message: 28/06/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo