Salut � tous

Apres quelques heures pour trouver comment integrer la libmodbus je commence � me rendre compte de mon faible niveau pour integrer des libs � XE3(j'en ai dej� galerer pour d'autre dont Tcomport et modbustcp)
vous me direz que j'ai d�j� modbus , or il est TCP et j'ai besoin du RTU pour mon projet, au d�part je voulais forcer avec comport les trames mais c'est pas si simple et �a fais un peu bricolage

tentative dans l'ordre et constat:

1. j'ai mis tous les fichier(libmodbus-3.0.3\src .c et .h) dans le repertoire (de de mon application fiche VCL C++ builder)
2. par suret� j'ai valid� le chemin d'inclusion dans option du projet
3.premi�re compilation Erreur au niveau "#include <sys/time.h>" je l'ai remplac� par <time.h> ok
4.j'ai du mettre #include <unistd.h> en commentaire dans unit.h, j'ai beau chercher sur le net mais pas grand chose pour le remplacer
5.� ce niveau quand je rentre une fonction � la premi�re parenth�se le compliateur propose bien le type de param�tre � rentrer j'en deduis que le modbus.h est reconnus
6.� ce stade �a compile
7. d�s que j'essaye avec avec une fonction (voir unit.ccp) j'ai l'erreur
-[ilink32 Erreur] Error: '_modbus_write_registers' externe non r�solu, r�f�renc� depuis G:\C & C++ (EMBARCADERO)\RAD STUDIO\PROJETS\RAD_TP_EMBARCADERO\TEST_LIB_MODBUS\WIN32\DEBUG\UNIT1.OBJ

Il me semble avoir d�j� eu ce probleme sur d'autre lib qui etait caus� par l'oublie de la dll dans le repertoire ...\Win32\Debug.
je suis �tonn� de ne pas avoir trouv� de .lib et de .dll � ajouter au projet
Si quelqu'un pourrait me confirm� si la demarche est bonne ou si c'est possible sur XE3 , ou encore mieux tester �a serait sympa 1000 Merci d'avance.
Nicolas
Bon week-end!

lien libmodbus 3.0.3

unit.h
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
 #include <stdio.h>
//#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <modbus.h>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// Composants gérés par l'EDI
	TButton *Button1;
	void __fastcall Button1Click(TObject *Sender);
private:	// Déclarations utilisateur
public:		// Déclarations utilisateur
	__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

unit.ccp
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned int short *tab_rp_registers;
modbus_t *ctx;
int adr=0x6B,nbr= 2;
 
//modbus_connect(ctx);
//modbus_write_registers(ctx,adr,nbr,tab_rp_registers);
}
//---------------------------------------------------------------------------