compilateur Hydrotel 2.6.x

Topics: Developer Forum, User Forum
Feb 6, 2013 at 1:43 PM
Edited Jul 26, 2013 at 4:21 AM
Bonjour,

Je vous remercie votre effort pour rendre un produit si complexe à la communauté open source.

Après avoir téléchargé "Hydrotel 2.6.x", j'ai eu de problèmes avec la compilation, donc l'écran affichait une erreur du type "size_t does not name a type". Donc, en suivant les instructions du suivant link "https://wiki.edubuntu.org/GCC4.6" j'ai ajouté la ligne

#include <cstddef>

au fichier problématique "optmstns.h". Après ça, tout marche correctement.

Mille mercis,
Jul 26, 2013 at 4:28 AM
Edited Jul 26, 2013 at 4:43 AM
Bonjour,

Par rapport à la compilation sur UNIX de la version d'Hydrotel associée à la version interface 2.6.1.6129 (commit 102881 du 22 mai 2013, http://hydrotel.codeplex.com/SourceControl/list/changesets), il y a quelques démarches à faire que finalement peuvent être simplifiées avec la manipulation de juste trois fichiers, voici les instructions:

Compilation de la version d'Hydrotel correspondante au ). Cette version est associée à la version interface 2.6.1.6129.
  1. Dans le fichier "../../noyau/include/optmstns.h" il faut ajouter la suivante ligne dans l'en-tête.
    #include <cstddef>
  2. Dans le fichier "../../gcc/ConsoleApplication/Makefile" ou "../../gcc/ConsoleApplication/Makefile_x64", selon soit le cas en 32 0u 64 bits, il faut ajouter le flag -std=c++11 dans la variable CFLAGS. Ceci est pour l'indiquer au compilateur de travailler avec la version récente c++11.
  3. Dans le fichier "../../noyau/include/inrs_dll.h" il faut ajouter la suivante définition de fonctions avant le dernier #endif. Ce qu'empêchera le malfonctionement des nouvelles fonctions _itoa, _ltoa, _ultoa et _fcvt.
#if defined(GNUC) || defined(MINGW32)
\#define _itoa itoa
\#define _ltoa ltoa
\#define _ultoa ultoa
\#define _fcvt fcvt
#endif

Merci toujours aux développeurs de ce code.
Sep 30, 2013 at 1:06 PM
Merci beaucoup pour vos commentaires, c'est vraiment très apprécié. J'ai ajouté les changements que vous avez proposé dans le code. Par contre, je n'ai pu tester que sous Ubuntu 32bits avec gcc 4.8.1. Dans inrs_dll.h j'ai utilisé #ifdef _LINUX parce que #if defined(GNUC) || defined(MINGW32) ne fonctionnait pas sur mon poste et j'ai placé votre ligne en commentaire.