Forum Clubic

Compilation d'un programme Linux sous Windows - Avec DevC++

J’essai de compiler Webdruid, un logiciel de stats pour Apache qui est actuellement totallement stoppé alors que beaucoup de site l’utilise toujours (ou Webalizer qui est plus ancien), et j’aimerais bien essayer de refaire vivre le projet.
Le problème c’est que je n’arrive pas à le compiler sous Windows (avec DevC++) parce qu’il manque un tas de librairie (genre time.h), et que même en allant chopper ces librairies il m’indique encore watmille erreurs que je ne comprends pas o.O

Ya une manière simple de compiler un programme fait sous Linux pour qu’il marche sous Windows ?

NB : Webdruid marche sous Windows, mais c’est pas expliqué comment le compiler pour Windows ^^

Noob Inside.

Voila donc la première erreur que je trouves après avoir enlevé toute celle qui provenait de fichier manquants :

192 E:\sources\webdruid-0.5.4.orig\webdruid.h syntax error before "u_long"

Et les lignes :
[cpp]
/* Response code structure */
struct response_code { char desc; / response code struct */
u_long count; };
[/cpp]

Ca bloque sur la dernière.

Essaye en mettant unsigned long à la place de u_long

Ca a marché merci !
Maintenant il me dit qu’il manque la librairie GD.
Cours la trouver

Zut maintenant il bloque sur un fichier inclu -> machine/_types.h

25 E:\Programmes\Dev-Cpp\include\machine\_types.h token "##" is not valid in preprocessor expressions

Il m’en sort une dizaine d’erreurs comme ca, et voila les lignes :
[cpp]
#define __EXP(x) x
#include <limits.h>
#endif

#if __EXP(SCHAR_MAX) == 0x7f
typedef signed char __int8_t ;
typedef unsigned char __uint8_t ;
#define ___int8_t_defined 1
#endif
[/cpp]

La 25 c’est #if __EXP(SCHAR_MAX) == 0x7f

:confused:

heu là ça devient un peu trop costaud…

apparemment il y a des macros que le compilo ne connait pas :confused:

Salut, je ne sais pas si tu pourrais envoyer les sources par email (si elles sont pas trop énormes :paf: ) , ou ton MSN afin de les faire passer par là.

Mon email: kidinux at hotmail.com

Ce sera plus simple que je test directement sous dev-cpp. En plus je suis en vacance,alors j’ai du temps :pt1cable:

Les sources de WebDruid 0.5.4 compressé avec 7zip.

http://starshine.dyndns.org/TriumAstra/sta…bdruid-0.5.4.7z

J’espère que ca pourra aider :slight_smile:

Je te déconseille de changer u_long par unsigned long .

Si ça foire c’est que le type n’est pas défini dans à priori pas inclus.

Si ça doit compiler sous Win, alors je suppose qu’il y a des sources adaptées à ce dernier.

C’est déjà changé ca Sans-Nom, ya d’autres erreurs après :wink:

Il doit y avoir des sources pour windows, seulement Webdruid est un projet mort et le site officiel n’existe plus, j’ai réussi a chopper les ources en farfouillant dans les sources de debian… >_<

http://www.ailis.de/~k/software/projects/webdruid/

En installant Cygwin

Ou mingw (que je préfere personnellement).

+1 Mingw.

Le problème c’est que dans la source y a des chemins UNIX, et ça c’est pas super…
Il faudrait penser à une relecture totale avec les modifications pour le portage sous Windows du programme

J’ai déjà choppé Mingw et CygWin, mais ca ne m’a pas avancé tellement c’est obscur pour moi.

KarlKox pour ton lien, je l’avais déjà trouvé mais c’est juste un gars qui a fait un setup pour webdruid, il y a pas du tout les sources :confused:

Personnes n’a d’idées pour le ‘token ##’ ?

Essaye de trouver SCHAR_MAX ?

Tu trouveras ici le code source compilé pour windows via mingw.
Le code source est inclu, il te suffit juste de chercher “MINGW32” pour savoir ce que j’ai fait.
Attention, ce ne sont que que des bidouilles pour que ca compile dans un premier temps, j’ai codé quelques parties spécifiques à windows mais il faudra tester tout ça pour avoir quelque chose d’utilisable (notamment tout ce qui concerne les appels systèmes, synchronisation).
Bonne chance :slight_smile:

karl-> l’homme qui maitrise le C sous win :jap:

:wink:

Normal, j’ai une vue à 360°, pratique pour déceler les bugs :MDR

http://sbougribate.free.fr/Files/Images/ptoad.png

:stuck_out_tongue: