Erreur compilation

Répondre
Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Erreur compilation

Message par Tobi »

Bonjour,

Je réalise actuellement des tests pour faire des propositions d'amélioration sur l'interface "nécromancie"...
Cependant, je rencontre les erreurs suivantes lors de la compilation :

Code : Tout sélectionner

||=== Client, RELEASE ===|
Source LE\client_sources\xz\Lzma2Dec.c||In function 'Lzma2Dec_AllocateProbs':|
Source LE\client_sources\xz\Lzma2Dec.c|78|error: expected identifier or '(' before numeric constant|
Source LE\client_sources\xz\Lzma2Dec.c|75|warning: unused parameter 'prop'|
Source LE\client_sources\xz\Lzma2Dec.c||In function 'Lzma2Dec_Allocate':|
Source LE\client_sources\xz\Lzma2Dec.c|85|error: expected identifier or '(' before numeric constant|
Source LE\client_sources\xz\Lzma2Dec.c|82|warning: unused parameter 'prop'|
Source LE\client_sources\xz\Lzma2Dec.c||In function 'Lzma2Dec_DecodeToDic':|
Source LE\client_sources\xz\Lzma2Dec.c|271|error: expected identifier or '(' before numeric constant|
Source LE\client_sources\xz\Lzma2Dec.c||In function 'Lzma2Decode':|
Source LE\client_sources\xz\Lzma2Dec.c|345|error: expected identifier or '(' before numeric constant|
Source LE\client_sources\xz\Lzma2Dec.c|346|error: expected identifier or '(' before numeric constant|
Source LE\client_sources\xz\Lzma2Dec.c|336|warning: unused variable 'props'|
Source LE\client_sources\xz\Lzma2Dec.c|331|warning: unused parameter 'prop'|
||=== Build finished: 5 errors, 4 warnings ===|
Si ça parle à quelqu'un je veux bien de l'aide ^^

Je vous remercie d'avance.

Finduilas
Messages : 14
Inscription : 13 mai 2016, 11:34
Localisation : Derriere mon ecran...de pc ou de jdr :D

Re: Erreur compilation

Message par Finduilas »

Je n'ai pas le code sous les yeux, et ne suis pas chez moi.
Vu que le problème se situe dans ce fichier, je suppose que c'est principalement celui ci que tu as modifié.

Les fonctions suivantes sont elles les tiennes ? Les as tu modifié ?
Lzma2Dec_AllocateProbs
Lzma2Dec_Allocate
Lzma2Dec_DecodeToDic
Lzma2Decode

Les lignes suivantes sont construite comme suit :

Code : Tout sélectionner

Source LE\client_sources\xz\Lzma2Dec.c||In function 'Lzma2Dec_AllocateProbs':|
Source LE\client_sources\xz\Lzma2Dec.c|78|error: expected identifier or '(' before numeric constant|

Code : Tout sélectionner

Chemin+fichier | fonction
Chemin+fichier | ligne | description de l'erreur
Tu as le même message d'erreur sur toutes.
error: expected identifier or '(' before numeric constant
Pour moi, c'est qu'il manque une parenthèse ouvrante, a l'appel d'une fonction avant le premier paramètre.
Sachant que selon comment est configuré le compilateur, la première erreur peut générer les autres...

Si la parenthèse est bien présente, ce qui est possible surtout si tu n'as pas touchés a ce fichier et ces fonctions.
Le problème le problème peut se relever plus dur a trouver.

Mais pour le coup google et stackoverflow sont nos amis.
Une piste en googlant bêtement le message d'erreur, est que l'un des paramètre qui est une structure soit défini deux fois.

Mais n'ayant pas le code sous les yeux, ce n'est qu'une piste lancé comme ça.

Si c'est du code que tu as modifié, n’hésite pas a le poster sur le forum. cela permettra a des paire d'yeux supplémentaire de regarder.
Si tu ne les as pas modifié, poste le code que tu as modifié.

Cordialement.
Éditez le titre du message d'origine pour ajouter [RÉSOLU] si votre problème est résolu.
Ça aide à la lisibilité du forum, pour savoir qui a encore besoin d'aide.
_______________
Finduilas Táralóm

Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Re: Erreur compilation

Message par Tobi »

Les fonctions suivantes sont elles les tiennes ? Les as tu modifié ?
Non c'est un fichier que je n'ai pas modifié propre aux sources fournit.
Même en reprenant le code source sans modifs... L'erreur est présente. (ps : je suis sous Windows)

Finduilas
Messages : 14
Inscription : 13 mai 2016, 11:34
Localisation : Derriere mon ecran...de pc ou de jdr :D

Re: Erreur compilation

Message par Finduilas »

alors j'ai testé... et ce fut le parcour du combatant :D
compil sous win7 x64 avec codeblocks 16.01, gcc/mingw32/4.9.2
- gl/wglext.h manquant => recupéré sur le site d'opengl.
- compilation obligatoirement en 32bits (je ne sais plus si c'est moi qui avait modifié ou si c'etait la config du compilo par defaut mais il m'a fallu cocher la case cible X86)
- Double déclaration le la libstdc++, utilisation de -static dans les options du linker => ld.exe cannot find -logg -lvorbisfile -lvorbis -lSDL -lzlib1 => j'ai cherche puis abandonné...
-point précédent : solution du bourrin, dans "C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\4.9.2\" j'ai déplacé libstdc++.dll.a et sa version debug dans un autre dossier.
Conclusion => compil ok...
mais...parce qu'il y a toujours un mais...

plantage...je lance le debug avec Visual Studio Community 2015 (fournis avec unity3D)
Unhandled exception at 0x00666CBB in Client_test_13-05-16.exe:
0xC0000005: Access violation reading location 0x00000008.
bref ça pue... parce que
Access violations mean you are dereferencing null pointers(or pointers to memory you don't have access to)
et vue que le debugger n'est pas le soft avec lequel l'exe a été codé...je vois pas le code associé...et l assembleur je veux pas me pencher dedans...

Ça me paraissait tellement plus simple quand je codait en cpp sous linux...c'est loin...bref je continuerai a creuser...
Mais mon soucis ne semble pas lié au tiens.

Pour ton soucis, les pistes que je vois :
- très peu probable, l'archive que tu as dl a merdé et les fichier sont corrompus, si tu as re-téléchargé pour le test sans tes modifications, ou si ça fonctionnait avant, ce n'est pas ça...
- une erreur de paramétrage du compilateur... As tu déjà réussi a compiler le code ?
- comme la piste que j'ai donné précédemment, as tu regardé le code du fichier pour voir si tu n'avait pas malencontreusement crée une structure qui existe déjà ? Pour ce que j'ai vue du code les espace de nom ne sont pas énormément utilisé...du coups un nom de structure doit être unique dans tout le projet.
- autre...mais la je ne suis pas inspiré...

peut tu détailler ta configuration, version de windows, editeur, compilateur ?
Éditez le titre du message d'origine pour ajouter [RÉSOLU] si votre problème est résolu.
Ça aide à la lisibilité du forum, pour savoir qui a encore besoin d'aide.
_______________
Finduilas Táralóm

Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Re: Erreur compilation

Message par Tobi »

- très peu probable, l'archive que tu as dl a merdé et les fichier sont corrompus, si tu as re-téléchargé pour le test sans tes modifications, ou si ça fonctionnait avant, ce n'est pas ça...
- une erreur de paramétrage du compilateur... As tu déjà réussi a compiler le code ?
- comme la piste que j'ai donné précédemment, as tu regardé le code du fichier pour voir si tu n'avait pas malencontreusement crée une structure qui existe déjà ? Pour ce que j'ai vue du code les espace de nom ne sont pas énormément utilisé...du coups un nom de structure doit être unique dans tout le projet.
- autre...mais la je ne suis pas inspiré...

peut tu détailler ta configuration, version de windows, editeur, compilateur ?
Merci pour ton aide c'est sympas ! :)
Pour répondre à tes questions :

J'ai déjà compilé le code, mais sur un autre pc et l y à plus d'un an.
Concernant ton hypothèse sur l'archive corrompu j'ai repris de 0 pour vérifier mais je me retrouve avec la même erreur.

Concernant ma configuration :
-Windows 10
- Code bloc - Release 10.05 rev 6283 (2010-05-27 09:09:13) gcc 4.4.1

Du coup je continue de chercher...

Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Re: Erreur compilation

Message par Tobi »

Le problème est résolu.
J'ai commenté les erreurs afin de pouvoir compilé et c'est OK maintenant.

Merci :)

Finduilas
Messages : 14
Inscription : 13 mai 2016, 11:34
Localisation : Derriere mon ecran...de pc ou de jdr :D

Re: Erreur compilation

Message par Finduilas »

Que ça compile ne me surprend pas, mais si ton exe plante ça ne me surprendra pas non plus.
Reste a savoir a quoi sert exactement le code...
Es-ce un code résiduel qui ne sert plus ou un code utile... faut creuser / tester.
Éditez le titre du message d'origine pour ajouter [RÉSOLU] si votre problème est résolu.
Ça aide à la lisibilité du forum, pour savoir qui a encore besoin d'aide.
_______________
Finduilas Táralóm

Finduilas
Messages : 14
Inscription : 13 mai 2016, 11:34
Localisation : Derriere mon ecran...de pc ou de jdr :D

Re: Erreur compilation

Message par Finduilas »

Ces fonctions servent a décompresser des données.
Je ne sais pas encore quel éléments utilisent ces dernières.
As tu joué avec ton client compilé?
Éditez le titre du message d'origine pour ajouter [RÉSOLU] si votre problème est résolu.
Ça aide à la lisibilité du forum, pour savoir qui a encore besoin d'aide.
_______________
Finduilas Táralóm

Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Re: Erreur compilation

Message par Tobi »

Finduilas a écrit :Ces fonctions servent a décompresser des données.
Je ne sais pas encore quel éléments utilisent ces dernières.
As tu joué avec ton client compilé?
Oui, je n'ai pas encore rencontré d'anomalie. De toute façon je ne l'utilise que sur le serveur de test, mais pour l'instant j'ai pas constaté de "gêne".

Finduilas
Messages : 14
Inscription : 13 mai 2016, 11:34
Localisation : Derriere mon ecran...de pc ou de jdr :D

Re: Erreur compilation

Message par Finduilas »

en remontant le fil des appels, c'est utilisé par fileutil, fonction xz_file_read et file_read

file_read est appelé par download_files_thread et build_update_list
xz_file_read est une des deux fonction utilisé pour la lecture des fichier dans elwrapper.c

xz a été crée par igor pavlov, qui implémente LZMA2 a été supplanté par gzip par la suite.
xz est disponible depuis 2009 d’après ce que j'ai vu, donc je suppose que c'est un ajout de LE. bien que cela puisse venir d'une MaJ de EL...
Faudra que je dl le code du client pour voir.

Conclusion préliminaire :
xz_file_read, semble t il, n'est plus utilisé puisqu'il a été remplacé par le gzip, du moins il semblerait. Et cela expliquerai que le jeu fonctionne.
file_read est utilisé lors des MaJ téléchargé par le client.

Cependant, les erreurs de compilations semblent due aux évolutions des compilateurs...
Il faudra tester une MaJ...
Éditez le titre du message d'origine pour ajouter [RÉSOLU] si votre problème est résolu.
Ça aide à la lisibilité du forum, pour savoir qui a encore besoin d'aide.
_______________
Finduilas Táralóm

Avatar de l’utilisateur
Tobi
Messages : 204
Inscription : 23 août 2013, 03:32

Re: Erreur compilation

Message par Tobi »

Finduilas a écrit :en remontant le fil des appels, c'est utilisé par fileutil, fonction xz_file_read et file_read

file_read est appelé par download_files_thread et build_update_list
xz_file_read est une des deux fonction utilisé pour la lecture des fichier dans elwrapper.c

xz a été crée par igor pavlov, qui implémente LZMA2 a été supplanté par gzip par la suite.
xz est disponible depuis 2009 d’après ce que j'ai vu, donc je suppose que c'est un ajout de LE. bien que cela puisse venir d'une MaJ de EL...
Faudra que je dl le code du client pour voir.

Conclusion préliminaire :
xz_file_read, semble t il, n'est plus utilisé puisqu'il a été remplacé par le gzip, du moins il semblerait. Et cela expliquerai que le jeu fonctionne.
file_read est utilisé lors des MaJ téléchargé par le client.

Cependant, les erreurs de compilations semblent due aux évolutions des compilateurs...
Il faudra tester une MaJ...
Oui, je me penché aussi sur une MAJ.
Je te remercie :)

Répondre