Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

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 ··· 9, 10, 11, 12, 13, 14, 15 ··· 20 ··· 24, 25, 26 Suivante
Homer43 Hors ligne Membre Points: 5 Défis: 0 Message

Citer : Posté le 23/02/2013 11:28 | #


merci de ton aide mais maintenant j'ai ce problème:
code
code


Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=C:\CASIO\fx-9860G SDK\OS\SH\include
set PATH=C:\CASIO\fx-9860G SDK\OS\SH\bin
set SHC_LIB=C:\CASIO\fx-9860G SDK\OS\SH\bin
set SHC_TMP=D:\telechargement\casiosdk\test2\Debug
"C:\CASIO\fx-9860G SDK\OS\SH\bin\shc.exe" -subcommand=C:\Users\Pierre\AppData\Local\Temp\hmk89F8.tmp
D:\telechargement\casiosdk\test2\test.c(23) : C2225 (E) Undeclared name "ID_USER_TIMER1"
D:\telechargement\casiosdk\test2\test.c(186) : C2136 (E) Type mismatch
D:\telechargement\casiosdk\test2\test.c(196) : C1016 (W) Argument mismatch

HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


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

PS: j'ai une graph35+ modifie en 75 avec SH4
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 23/02/2013 11:44 | #


C'est exactement les mêmes erreurs que plus haut. Tu dois inclure fxlib.h si tu veux utiliser des éléments déclarés dedans.
Homer43 Hors ligne Membre Points: 5 Défis: 0 Message

Citer : Posté le 23/02/2013 12:02 | #


je l'ai deja inclu
code
code
#include "fxlib.h"
int y = 0;
int busy = 0;

void F01_1_Handler()
   {
   char s[4];
        if ( busy ) return;
        busy = 1;
   memset(s, '\0', 4);
   sprintf(s, "%d", MainBatteryPercentage());
   PrintXY(78, y, (const unsigned char *) "    ", 0);
   PrintXY(78, y, (const unsigned char *) s, 0);
     Bdisp_PutDisp_DD();
   y++;
        busy = 0;
   }
  
int AddIn_main(int isAppli, unsigned short OptionNum)
   {
   unsigned int key;
   Bdisp_AllClr_DDVRAM();
   SetTimer(ID_USER_TIMER1, 100, (void *) F01_1_Handler);
   while (1)
      {
      F01_1_Handler();
      GetKey(&key);
      }
   return 1;
   }
// instant syscalls (fx-9860)
#define SCA 0xD201D002
#define SCB 0x422B0009
#define SCE 0x80010070
typedef void(*sc_vpuc)(unsigned char*);
typedef int(*sc_iv)(void);
typedef int(*sc_i2pui)( unsigned int*, unsigned int* );
typedef int(*sc_i4pui)( unsigned int*, unsigned int*, unsigned int*, unsigned int* );
typedef int(*sc_i2puc2pus)( unsigned char*, unsigned char*, unsigned short*, unsigned short* );
typedef int(*sc_iipci)( int, unsigned char*, int );
const unsigned int sc003B[] = { SCA, SCB, SCE, 0x003B };
#define RTC_GetTicks (*(sc_iv)sc003B)
const unsigned int sc0D65[] = { SCA, SCB, SCE, 0x0D65 };
#define InputDateMonth (*(sc_i2pui)sc0D65)
const unsigned int sc0D67[] = { SCA, SCB, SCE, 0x0D67 };
#define InputDateYear (*(sc_i2pui)sc0D67)
const unsigned int sc0D64[] = { SCA, SCB, SCE, 0x0D64 };
#define InputDate (*(sc_i4pui)sc0D64)
const unsigned int sc0015[] = { SCA, SCB, SCE, 0x0015 };
#define GlibGetOSVersionInfo (*(sc_i2puc2pus)sc0015)
const unsigned int sc06C4[] = { SCA, SCB, SCE, 0x06C4 };
#define KBD_PRGM_GetKey (*(sc_vpuc)sc06C4)
const unsigned int sc0160[] = { SCA, SCB, SCE, 0x0160 };
#define LongToAsc (*(sc_iipci)sc0160)
// instant syscalls

// for fx9860 only!
#define PORT_E_DR 0xA4000128

#define OS202GII2 0x02020000
//
char IsSlim(){
   if ( ( OSVersionAsInt() & 0xFFFF0000 ) == OS202GII2 ) return 0;
   else return !( *(char*)PORT_E_DR & 0x08 );
}

//
char IsSD(){
   return ( *(char*)PORT_E_DR & 0x01 );
}

//
int IsEmulator(){
   return !( *(int*)0x8000FFD0 || *(int*)0x8000FFD4 );
}

#define OS102 0x01020000
#define OS103 0x01030000
#define OS104 0x01040000
#define OS105 0x01050000
#define OS1051 0x01051000
#define OS110 0x01100000
#define OS111 0x01110000
#define OS200 0x02000300
#define OS200slim 0x02000100
#define OS200GII 0x02000200

//
int OSVersionAsInt( void ){
unsigned char mainversion;
unsigned char minorversion;
unsigned short release;
unsigned short build;
  GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
  return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
}

//
int GetMainBatteryVoltagePointer(){
unsigned int ea;
unsigned int j;
    ea = *(unsigned int*)0x8001007C;
    ea = ea + 0x049C*4;
    ea = *(unsigned int*)( ea );
    while ( *(unsigned short*)( ea ) != 0xE464 ){
      ea = ea + 2;
    };
    ea = ea + 2;
    j = *(unsigned char*)( ea + 1 );
    j = 4*j;
    j = ( ea + j + 4 ) & 0xFFFFFFFC;
    return *(unsigned int*)( j );
}

// battery = 1 = main (do not use other values)
// firstlevel: warning level
// secondlevel: shutdown level
int GetBatteryStatus( int battery, int*firstlevel, int*secondlevel ){
int (*iGBS)( int ) = 0;  // declare an int function pointer
int*battconfig = (int*)0x80000334;
   *firstlevel = 0x17F;
   *secondlevel = 0x16D;

   iGBS = (int(*)(int))GetMainBatteryVoltagePointer();

     switch ( OSVersionAsInt() ){
       case OS102 : break;
       case OS103 : break;
       case OS104 :
       case OS105 :
         if ( *battconfig==0x43444844 ){
           *firstlevel = 0x1A5;
           *secondlevel = 0x191;
         };
         break;
       case OS1051 :
         if ( *battconfig==0x43444844 ){
           *firstlevel = 0x1A5;
           *secondlevel = 0x191;
         };
         break;
       case OS110 :
         *firstlevel = 0x2AA;
         *secondlevel = 0x288;
         break;
       case OS111 :
         *firstlevel = 0x2AA;
         *secondlevel = 0x288;
         break;
       case OS200 :
         if ( *battconfig==0x43444844 ){
           *firstlevel = 0x1A5;
           *secondlevel = 0x191;
         };
         break;
      case OS200GII :
         break;
      case OS200slim :
         *firstlevel = 0x2AA;
         *secondlevel = 0x288;
         break;
     };
   if (IsSlim()){
      *firstlevel = 0x2AA;
      *secondlevel = 0x288;
   }  
   if (iGBS!=0) return (*iGBS)( battery );
   else return 0;
}

// the warning level lies around 2/3 full scale
int MainBatteryPercentage( void ){
int firstlevel, secondlevel;
int i;
   if ( IsEmulator() ){
      i = 100;
      firstlevel = 70;
      secondlevel = 65;
   } else i = GetBatteryStatus( 1, &firstlevel, &secondlevel );
      
   if (firstlevel > 0 ) return ( 200*i )/(firstlevel*3);
   else return 0;
}

//
int F01_1_Handler(){
unsigned int key;
unsigned char x[21];
int currentlevel = 0;
   memset( x, 0, sizeof( x ) );
   while (1){
      currentlevel = MainBatteryPercentage();
      locate(5,3);  
      LongToAsc(currentlevel, (unsigned char*)x, 5 );  
      Print( (unsigned char*)x );
      Print( "%" );
      GetKey( &key );
      if ( key == KEY_CTRL_EXIT ) break;
   }
   return 1;
}
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 23/02/2013 13:24 | #


ID_USER_TIMER1 est déclaré dans timer.h (donc à inclure aussi)
La fonction F01_1_Handler est déclarée 2 fois.

Et c'est peut-être dû au copier coller, mais à la ligne 10 dans le memset, c'est quoi ce caractère vide ?

Et puis tu ne risques pas de compiler grand chose en supprimant le code par défaut :
Cliquez pour découvrir
Cliquez pour recouvrir
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section

Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 01/03/2013 13:58 | #


bon ,j'essaye de remplir un double tableau de cette facon :

const unsigned char imported_tile_0___0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x0F, 0xE0, 0x80, 0x00, 0x30, 0xC0, 0x80, 0x00, 0x43, 0x00, 0x40, 0x00, 0x44, 0x00, 0x40, 0x00, 0x84, 0x00, 0x20, 0x00, 0x88, 0x00, 0x30, 0x00, 0x88, 0x00, 0x18, 0x06, 0xFE, 0x70, 0x14, 0x09, 0x01, 0x88, 0x14, 0x08, 0x30, 0x04, 0x12, 0x10, 0x70, 0x06, 0x12, 0x12, 0x60, 0x01, 0xA2, 0x33, 0x05, 0x83, 0xC2, 0x38, 0x6B, 0x43, 0xE2, 0x28, 0x47, 0x41, 0x94, 0x78, 0x07, 0xC0, 0x68, 0x40, 0x00, 0x00, 0x68, 0x20, 0x80, 0x40, 0x04, 0x1C, 0x3F, 0x91, 0x44, 0x13, 0xC0, 0x60, 0xB2, 0x0C, 0x01, 0xC6, 0xB2, 0x13, 0xFE, 0x44, 0x82, 0x11, 0x00, 0x80, 0x82, 0x20, 0xC0, 0x81, 0x04, 0x2A, 0xBF, 0xAB, 0xA8, 0x1F, 0x78, 0x7D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const unsigned char imported_tile_0___1[] = {0x00, 0x05, 0xC8, 0x00, 0x00, 0x0A, 0x34, 0x00, 0x00, 0x10, 0x2A, 0x00, 0x00, 0x10, 0x2A, 0x00, 0x00, 0x20, 0x11, 0x00, 0x14, 0x20, 0x11, 0x00, 0x2B, 0x20, 0x11, 0x00, 0x40, 0xE2, 0x51, 0x50, 0x48, 0xA5, 0xA2, 0xAC, 0x26, 0x18, 0x17, 0x02, 0x41, 0x0B, 0xED, 0x1A, 0x30, 0x84, 0x18, 0x62, 0x2C, 0xFF, 0x64, 0x82, 0x13, 0x00, 0x8B, 0x04, 0x10, 0x00, 0x1A, 0x12, 0x11, 0xC0, 0x1B, 0x0C, 0x25, 0xC1, 0x80, 0xF0, 0x2A, 0x82, 0x70, 0x40, 0x34, 0x34, 0xE1, 0xA0, 0x36, 0x31, 0x60, 0xB0, 0x5E, 0x23, 0xE0, 0x38, 0x40, 0x00, 0x09, 0x18, 0x40, 0x00, 0x08, 0x84, 0x38, 0x27, 0xF0, 0x84, 0x17, 0x19, 0x40, 0x42, 0x2C, 0xE0, 0x96, 0x42, 0x36, 0x00, 0x64, 0x42, 0x71, 0xFF, 0xA3, 0x42, 0x42, 0x00, 0x23, 0x84, 0x41, 0x80, 0x20, 0xA4, 0x56, 0x7F, 0xD5, 0x28, 0x3D, 0xE0, 0x3E, 0xF0};

unsigned char sprites[2][128]=
{
imported_tile_0___0,imported_tile_0___1
};


et le compilo me met comme erreur
" Initializer should be constant"
malgre le fait que les initaliseur soit constants -_-
quelqu'un sait qu'est ce que j'ai fait de mal?
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: 11571 Défis: 176 Message

Citer : Posté le 01/03/2013 17:49 | #


C'est ici:

unsigned char sprites[2][128]=
{
imported_tile_0___0,imported_tile_0___1
};


Le compilo aime pas qu'on initialise avec des variables déjà créées (bien qu'elles soient constantes).

Fait comme ça:

unsigned char sprites[2][128];
sprites[0] = imported_tile_0___0[];
...



Ajouté le 01/03/2013 à 17:56 :
Ma méthode:


#define ORANGE 0;
#define FRAISE   1;
...

unsigned char *objets[5][8];

const unsigned char orange1[] = {0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x1F, 0xF8, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3B, 0xFC, 0x19, 0xF8, 0x1F, 0xF8, 0x0F, 0xF0, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00};
const unsigned char orange2[] = {0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x1F, 0xF8, 0x3F, 0xFC, 0x37, 0xFC, 0x33, 0xFC, 0x3F, 0xFC, 0x1F, 0xF8, 0x1F, 0xF8, 0x0F, 0xF0, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00};
    const unsigned char orange3[] = {0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x1F, 0xF8, 0x37, 0xFC, 0x33, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, 0xF8, 0x1F, 0xF8, 0x0F, 0xF0, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00};
...

objets[ORANGE][0] = orange1;
objets[ORANGE][1] = orange2;
objets[ORANGE][2] = orange3;
...



et pour l\'affichage:

ML_bmp_16_or_cl(objets[0][1]);
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 01/03/2013 19:30 | #


En effet, une variable, même constante, n'est pas utilisable dans une initialisation.

Code faux :
int tableau1[] = {1, 2};
int tableau2[] = {3, 4};
int* tableau3[] = {tableau1, tableau2};


Code juste :
int tableau3[2][] = {{1, 2}, {3, 4}};
ou
int tableau1[] = {1, 2};
int tableau2[] = {3, 4};
int* tableau3[2];
tableau3[0] = tableau1;
tableau3[1] = tableau2;

Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 06/03/2013 00:04 | #


tiens, sa me fait penser, on peut utiliser deux pointeur pour un tableau bidimensionnel?

char mat[3][3]

deviendrait
char **mat

mais après je sais pas sur de comment définir la taille du tableau...
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Kristaba Hors ligne Membre Points: 614 Défis: 22 Message

Citer : Posté le 06/03/2013 19:55 | #


Non, pour une simple raison, c'est que les tableaux multidimensionnels sont "émulés" par le compilateur.
Un tableau [3][3] est assimilable à un tableau [3*3] (dimension1*dimension2*...*dimensionN).

Donc pour ton exemple
char mat1[3][3];
char mat2[3*3]; // même utilisation de la mémoire que mat1

char *ptMat = mat1; // peut-être un warning, mais cela marchera
ptMat[5] = 15; // après cette instruction, mat[1][2] vaudra 15

char **ptptMat = mat1; // warning ou erreur, assignement d'un char[3][] dans un char **


C'est la grosse différence d'utilisation entre les array et les pointeurs en C/C++.

Si tu tiens à utiliser du char **, tu peux utiliser de l'allocation dynamique afin de créer un tableau de pointeurs sur des caractères (une liste de chaines de caractère par exemple).
Il était vraiment temps que je change cette signature...
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 06/03/2013 20:27 | #


ok, je reste donc sur la bonne vielle méthode de la liste genre:
char *mat;
mat=(char*)malloc(9);
mat[x+3*y]

par exemple
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 19/04/2013 23:40 | #


Salut tout le monde, j'ai une erreur de compilation quand je fais un nouveau projet et que je fais bluid :
** L2011 (E) Invalid parameter specified in option "input" : ""C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj""

Je débute sur le SDK
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 19/04/2013 23:45 | #


tu a essaye de rebuild all? (project->rebuild all)

il y avait pas aussi une histoire comme quoi le chemin du SDK ne devait pas contenir d'espace ou quelque chose comme ca?
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 !
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 19/04/2013 23:49 | #


Non, ça ne change rien, et même avec un nouveau projet.
Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 19/04/2013 23:52 | #


faux mettre le sdk dans un dossier où il n'y a pas de parenthèses: Program Files (x86)\CASIO ne va pas
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 19/04/2013 23:58 | #


Ok c'est effectivement ça, merci

Ajouté le 14/08/2013 à 00:07 :
Salut, je me remets un peu au C de temps en temps, mais là j'ai une erreur (Argument mismatch) aux deux print en bas, je dois pas ben comprendre comment utiliser print en fait :/
int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    int x=10.5;
    int y=4;
    int x2 = 0;
    int y2 = 3;
    char str[1] = {0x3E};
    char rocher[1] = {0x2A};
    int count = 0;
    
    srand(time_getTicks());
    
    Bdisp_AllClr_DDVRAM();
    
    
    while(1){
        count += 1;
        x2 -= 1;
        
        if (IsKeyDown(KEY_CTRL_LEFT) && x>1 ){
            x -= 1;
        }
        if (IsKeyDown(KEY_CTRL_RIGHT) && x<21 ){
            x += 1;
        }
        if (IsKeyDown(KEY_CTRL_DOWN) && y<8 ){
            y += 1;
        }
        if (IsKeyDown(KEY_CTRL_UP) && y>1 ){
            y -= 1;
        }
        
        if (count%40 == 0){
            x2 = 21;
            y2 = rand()%8;
        }
        
      Bdisp_AllClr_DDVRAM();
        locate(x,y);
        Print(str);
        if (x2>0){
            locate(x2,y2);
            Print(rocher);
        }
        Bdisp_PutDisp_DD();
        Sleep(80);
    }

    return 1;
}

Merci
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 14/08/2013 08:44 | #


"Argument mismatch"="il manque un argument" vérifie sur le pdf qui parle de print, je trouve ça surprenant qu'il ne prenne qu'un seul paramètre (a vrai dire, je n'utilise jamais print, je n'utilise que PrintXY et PrintMini, quand je n'utilise pas mes propres lib pour l'affichage de texte)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 14/08/2013 09:49 | #


Le document a écrit :
void Print(
const unsigned char *str // pointer to string
);

La fonction ne prend bien que 1 seul argument pourtant :/
Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 14/08/2013 10:06 | #


faut mettre "unsigned" avant le "char" dans ta déclaration

Ajouté le 14/08/2013 à 10:07 :
en gros, comme ça :
...
    int x2 = 0;
    int y2 = 3;
    unsigned char str[1] = {0x3E};
    unsigned char rocher[1] = {0x2A};
    int count = 0;
    
    srand(time_getTicks());
...

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 14/08/2013 10:13 | #


Ah merci !!

Ajouté le 16/08/2013 à 15:33 :
Salut, j'ai une erreur que je ne comprends pas du tout, quand je fais :
#include "Objet.h"
...
Objet* objets = 0;
...
objets = malloc(nombre_objets * sizeof(Objet));

Type not compatible for "="

A la deuxième ligne :/ J'ai bien initialiser la struct Objet :
Cliquez pour découvrir
Cliquez pour recouvrir
typedef struct Objet Objet;
struct Objet
{
    int type;
    int camps;
    int vie;
    int x;
    int y;
    int direction;
    int action;
};
Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 16/08/2013 17:23 | #


Objet* objets = 0; est un pointeur, tu ne peut pas l'initialiser à 0. Il faut faire Objet* objets = NULL;


Ajouté le 16/08/2013 à 17:23 :
Tu ne peux pas initialiser manuellement l'adresse d'un pointeur
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 16/08/2013 17:26 | #


Bha c'est par ça que j'avais commencé mais j'ai :
sdk a écrit :
Undeclared name "NULL"

:/
Précédente 1, 2, 3 ··· 9, 10, 11, 12, 13, 14, 15 ··· 20 ··· 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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 55 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