Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » [Aide SDK] Les erreurs de compilation
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

[Aide SDK] Les erreurs de compilation

Posté le 15/05/2011 00:10

Suite aux nombreuses demande d'aide que je reçois concernant des messages d'erreur lors de compilation avec le SDK, je décide de créer ce topic qui aura pour but de recenser tous les messages d'erreur, de les expliquer, et de donner leur solution.

Premièrement, qu'est ce qu'une erreur de compilation ?

Ici, ce sont les 4 lignes qui commencent par le chemin de mon fichier source contenant les erreurs (Z:\home\pierre\a\a.c) suivi du numéro de la ligne contenant l'erreur.

Liste des erreurs

Illegal token ''<mot>''
Description : Une erreur de syntaxe a été rencontrée avant <mot> (un point virgule manquant, une parenthèse en trop ...)
Solution : Arrêter de coder avec les pieds.

Undeclared name ''<nom>''
Description : Une variable est utilisée sans avoir été déclarée au préalable.
Solution : Déclarer la variable au début de la fonction.

Cannot convert parameter ''X''
Description : Le paramètre n°X envoyé à la fonction n'est pas du bon type, et ne peut pas être converti.
Solution : Vérifier quel type de variable demande la fonction, et lui envoyer une variable du bon type.

Illegal initializer type
Description : Une variable est initialisée avec un type incorrecte (exemple, un entier initialisé avec une chaîne de caractère)
Solution : Initialiser la variable avec une valeur CONSTANTE correcte.
Le compilateur Renesas utilisé par le SDK respecte la norme C89, qui spécifie qu'une variable doit être initialisée avec une valeur constante, et non une valeur de retour de fonction, ou un paramètre de la fonction.

Multiple variable declarations
Description : Une variable a déjà le même nom et la même portée que celle déclarée à la ligne de l'erreur.
(Deux variables peuvent avoir le même nom si elles n'ont pas la même portée)
Solution : Nommer la variable différemment.

Type not compatible for ''=''
Description : L'affectation d'une valeur à une variable a échouée car la valeur n'est pas d'un type compatible avec celui de la variable.
Solution : Si la valeur affectée est un retour de fonction, vérifier quel type de variable retourne la fonction.

Modifiable lvalue required for ''=''
Description : Un élément non modifiable (comme une fonction où une constante) est suivi d'un signe égal.
Solution : Seule les variables peuvent se voir affecter une valeur avec ''=''.

Index not integer
Description : utilisation d'un float ou d'un double dans l'index d'une case de tableau.
Solution : Caster en int, tableau[double] devient tableau[(int)double]

Number of parameters mismatch
Description : Trop ou pas assez de paramètres sont envoyés à la fonction.
Solution : Regarder ce que demande la fonction, et le respecter.

Undefined external symbol ''_<nom de fonction>''
Description : Une fonction est appelée, mais son implémentation n'a pas été compilée.
Solution : Vérifier l'orthographe du nom, vérifier si le fichier contenant la fonction est bien dans la fenêtre ''Files in project''. Si tout ça est bon, essayez d'éditer le fichier contenant l'implémentation de la fonction (ajouter un espace, le supprimer, sauvegarder), ça permettra au compilateur de re-compiler le fichier.

couldn't open ''<nom de fichier>''
Description : Un fichier inclu avec #include n'existe pas.
Solution : Lors de l'inclusion d'un fichier, il faut donner son chemin relatif depuis le fichier contenant la directive #include

Empty source program
Description : Le fichier source est vide, et aucun compilateur n'aime ça.

Cannot open source file ''<nom de fichier>''
Description : Le fichier source présent dans la fenêtre ''Files in project'' du SDK n'existe pas.

Unrecognized preprocessing directive
Description : Une directive de préprocesseur (lignes commençant pas #) n'est pas correctement orthographiée.

Illegal preprocessor syntax
Description : Erreur de syntaxe dans une directive de préprocesseur.

Expected a file name
Description : Un nom de fichier est attendu (généralement une erreur de syntaxe dans une directive include)

Expected an identifier
Description : Un identifiant est attendu (généralement une erreur de syntaxe dans une directive define ou ifdef)

Invalid parameter specified in option "input" : ""C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj""
Description : Ne jamais installer le SDK dans un dossier dont le chemin comporte des parenthèses ! Mettez-le dans C:\Programmes\CASIO par exemple.

Cette liste est incomplète, si vous rencontrez d'autres erreurs, vous pouvez les poster ici, elles seront ajoutées.

Voici une liste en anglais de toutes les erreurs possibles et imaginables. Cela ne vous donne pas forcément une bonne solution, mais ça peut vous aiguiller sur une piste


Dernière modification : 26/09/2013 (Dark Storm)

Fichier joint


Précédente 1, 2, 3 ··· 10 ··· 20, 21, 22, 23, 24, 25, 26 Suivante
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 18/08/2014 14:44 | #


external symbol, il me semble que ça vient du'ne fonction qu'il ne connaît pas? T'es sur d'avoir rajouté tous les fichiers sources (C/C++) dans le SDK?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 18/08/2014 14:47 | #


Il faut rajouter des fichiers pour utiliser la lib standard?
D'ailleurs, cette erreur n'intervient que lorsque j'essaye de construire un string, sinon il n'y a pas d'erreur (mais du coup je ne peux utiliser de string, ce qui n'a pas d’intérêt). La fonction qu'il n'arrive pas a trouver n'est pas une des mienne non plus
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 18/08/2014 14:47 | #


Non, le compilo officiel de Renesas ne supporte pas les objets de type string, ni les vector
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 18/08/2014 14:47 | #


Et merde zut
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 18/08/2014 16:07 | #


Pas de STL tout simplement.
Pour le C++ il faut utiliser un gcc, mais comme il n'y a pas encore de libcxx... avec le C on pouvait récupérer la libc dans fxlib.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 24/08/2014 18:18 | #


Salut !
Le SDK me dit
Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=C:\Casio\OS\SH\include
set PATH=C:\Casio\OS\SH\bin
set SHC_LIB=C:\Casio\OS\SH\bin
set SHC_TMP=C:\Users\Olivier\Documents\Add-in\Age of Empire\Debug
"C:\Casio\OS\SH\bin\shc.exe" -subcommand=C:\Users\Olivier\AppData\Local\Temp\hmkCF67.tmp
o Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


ERROR: Process failed with return code: 1
Build was not successful.

Je vois pas ce qui pose de problème sachant qu'il ne me dit rien :/
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/08/2014 18:20 | #


Une partie de ton log a été avalée.
Essaie de relancer le SDK, supp le dossier Debug, etc.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 25/08/2014 14:33 | #


on applaudit Casio

Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 25/08/2014 14:40 | #


C'est bien ce que je disais.
En genéral ça se passe quand il y a beaucoup trop d'erreurs... vérifie au moins que tu as correctement fermé tous tes blocs.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 25/08/2014 14:49 | #


ben, hier, ça marchait, aujourd'hui, sans rien modifié, voila le résultat
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 25/08/2014 14:50 | #


Ben alors vire les données de debuggage, relance le SDK voire le PC, bref la démarche habituelle pour se débarasser des données erronées...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 25/08/2014 14:50 | #


Moi ca m'arrive très souvent quand mon PC est trop occupé. Mais bon après c'est mon PC il lui en faut pas beaucoup
-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

Citer : Posté le 13/12/2014 20:38 | #


J'ai une erreur du type :

The size of B and R section should be 0x2000 bytes or less.
Please refer to "C:\....\tableau périodique\Debug\FXADDINror.map"
In Arch, I trust ! And you ?
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message
-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

Citer : Posté le 14/12/2014 11:47 | #


merci beaucoup mais je ne sais pas pourquoi il y a cette erreur ? omg

Ajouté le 14/12/2014 à 11:51 :
cool la solution marche ça a compilé

c'est à cause de la structure

Faudra la rajouter au topic

Ajouté le 11/01/2015 à 18:58 :
J'ai un autre problème

quand je lance le jeu tout marche mais quand je fait return; de la fonction main vers l'appel AddIn_main pour sortir avec les return 1;
J'ai un gros system error avec TLB ERROR !! et je ne sais absolument pas d'où ça vient
In Arch, I trust ! And you ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 11/01/2015 19:01 | #


Le code ?
-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

Citer : Posté le 11/01/2015 19:04 | #


le voilà : http://pastebin.com/Cg76jwCK

Tout est defini dans le header et les images sont bonnes
In Arch, I trust ! And you ?
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 30/01/2015 23:00 | #


J'en ai une nouvelle : " Cannot output internal file"

Ajouté le 30/01/2015 à 23:02 :
Juste un commentaire avec accent : http://www.planet-casio.com/Fr/forums/topic8107-21-**Le-SDK-pour-fx-9860-Graph85**-Topic-officiel.html#46551
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 30/01/2015 23:10 | #


Il faudrait éventuellement la rajouter a la liste des erreurs ci dessus
1337
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/01/2015 23:24 | #


florian il y a plusieurs choses bizarres dans ton code :
déjà tu initialise buffer en const puis tu essaies de le modifier derrière ensuite je ne pense pas que 1 case soit suffisante pour contenir un score
autre chose de bizarre : tu parle de rectangle[] sans l'avoir initialisé (sans oublier de score, STICK etc...)
ensuite ceci :
ML_bmp_or_cl(*(STICK+i%3),rectangle[1]-14,27,13,13);
alors la je comprends pas : tu balance un pointeur sur ca ???
Et puis si tu utilises ML utilise aussi la fonction ML_clear_vram();
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/01/2015 23:25 | #


Un conseil : codez toujours en anglais : non seulement ça vous fait pratiquer, mais surtout vous n'avez pas de problèmes avec les accents

Ajouté le 30/01/2015 à 23:27 :
Ah oui : et surtout, ne mélangez jamais deux langues dans le code !
Je le dis parce que certains le font encore. (Ok je l'ai déjà fait, mais c'était y'a plus d'un an ou deux...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Précédente 1, 2, 3 ··· 10 ··· 20, 21, 22, 23, 24, 25, 26 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 123 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd