Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Compilation avec Clang

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Alexjd
Bronze Nabz
Bronze Nabz
avatar

Localisation : PACA
Nabaztag : Lapinou
Nbr de messages : 181
Carottes : 2536

MessageSujet: Compilation avec Clang   Dim 28 Juin 2015 - 17:38

Sous FreeBSD 10.1, Clang est devenu le compilateur par défaut. Cela m'arrangerait donc de ne pas avoir à bricoler un GCC. Or, lorsqu'on essaie de compiler OpenJabNab avec Clang, on se heurte immédiatement à un message d'erreur:

Code:
% make
cd lib/ && make -f Makefile
clang++ -c -pipe -Werror -O2 -pthread -D_THREAD_SAFE -Wall -W -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4 -I. -I../main -Itmp/moc -I/usr/local/include/qt4 -I/usr/local/include -o tmp/obj/httphandler.o httphandler.cpp
clang++ -c -pipe -Werror -O2 -pthread -D_THREAD_SAFE -Wall -W -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4 -I. -I../main -Itmp/moc -I/usr/local/include/qt4 -I/usr/local/include -o tmp/obj/xmpphandler.o xmpphandler.cpp
In file included from xmpphandler.cpp:5:
./iq.h:1:9: error: '_IQ_H_' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
#ifndef _IQ_H_
       ^~~~~~
./iq.h:2:9: note: 'IQ_H_' is defined here; did you mean '_IQ_H_'?
#define IQ_H_
       ^~~~~
       _IQ_H_
1 error generated.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/any/openjabnab-git/OpenJabNab/server/lib
*** Error code 1

Stop.

Quelqu'un a-t-il une idée?


Dernière édition par Alexjd le Mar 30 Juin 2015 - 7:50, édité 1 fois
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz
avatar

Localisation : France
Nbr de messages : 1189
Carottes : 3877

MessageSujet: Re: Compilation avec Clang   Lun 29 Juin 2015 - 11:10

Salut,

Au début du fichier lib/iq.h tu as:
Code:
#ifndef _IQ_H_
#define IQ_H_
...
Modifie la deuxième ligne pour que ca ressemble à ça
Code:
#ifndef _IQ_H_
#define _IQ_H_
...

Intéressant... Presque amusant en fait =) Je ne sais pas pourquoi GCC ne jette pas d'erreur/warning...

Si cela fonctionne, tu risques d'avoir le même problème ailleurs... Même fix.

Bon courage et n'hésite pas à poster d'autres soucis, maintenant je serais averti en cas de posts sur ce topic...

RedoX
Revenir en haut Aller en bas
http://wiki.openjabnab.fr/
Alexjd
Bronze Nabz
Bronze Nabz
avatar

Localisation : PACA
Nabaztag : Lapinou
Nbr de messages : 181
Carottes : 2536

MessageSujet: Re: Compilation avec Clang   Lun 29 Juin 2015 - 23:30

Les années passent et RedoX est toujours aussi rapide!  nabzlol
Effectivement, la modification résout le problème, qui ne se trouve qu'à cet endroit.
Pour le reste j'ai eu un petit problème avec l'encodage de plugins/tv/plugin_tv.cpp, bizarrement en ISO-8859 alors que le reste est en utf-8, ce qui fait planter Clang, lequel ne prend en entrée que de l'utf-8.
Pour ceux qui auraient le même problème (sait-on jamais...), il suffit de convertir le fichier:
Code:
iconv -f ISO-8859-1 -t UTF-8 plugins/tv/plugin_tv.cpp > plugins/tv/plugin_tv.cpp.utf8
mv plugins/tv/plugin_tv.cpp.utf8 plugins/tv/plugin_tv.cpp

La compilation se termine par ailleurs sans accroc. Reste maintenant à tester en réel sur le serveur.

Ce serait peut-être bien de faire les deux modifications dans le git principal? Pixel, si tu nous lis...


Dernière édition par Alexjd le Mar 30 Juin 2015 - 7:43, édité 1 fois
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz
avatar

Localisation : France
Nbr de messages : 1189
Carottes : 3877

MessageSujet: Re: Compilation avec Clang   Lun 29 Juin 2015 - 23:45

Tu as surtout eu de la chance, je ne me connecte qu'assez rarement >_<

J'ai appliqué les deux modifications, et ca compile toujours bien avec GCC 4.9 donc... je push ça sur le dépot Git.

Merci des remarques yellownabzwink
Revenir en haut Aller en bas
http://wiki.openjabnab.fr/
Contenu sponsorisé




MessageSujet: Re: Compilation avec Clang   

Revenir en haut Aller en bas
 
Compilation avec Clang
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» couper Queu avec un marteau
» Jouer avec une sauvegarde d'un autre PC
» Tutorial: Bien débuter avec Photoshop
» Druide, quelle couleurs de peau va avec quelle couleurs ?
» rois des tombes avec bretos et ogre contre des elfes noires

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: