IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

compilation error C2864


Sujet :

Visual C++

  1. #1
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut compilation error C2864
    Bonjour,

    Je bosse actuellement sur un jeu utilisant la technologie Cocos2d-x pour d�ploiement sur iPhone et Android

    une partie de l equipe bosse sur XCode sous Mac et l autre sur Visual Studio

    sous XCode , ce code compile sans soucis mais ca bloque sur Visual C++, une id�e de comment r�soudre le soucis

    error C2864: '__s_resources::resources_begin'*: seules les donn�es membres static const int�grales peuvent �tre initialis�es dans une classe
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
     
    //------------------------------------------------------------------------------
    // Macros pour définir la structure des resources
    //
    #define BEGIN_GROUP(__GROUP_NAME__) \
        struct __s_##__GROUP_NAME__ {
     
    #define END_GROUP(__GROUP_NAME__) \
        }; \
        __s_##__GROUP_NAME__ __GROUP_NAME__;
     
    #define BEGIN_RESOURCES \
       struct __s_resources { \
        NEW_RESOURCE(resources_begin, 0)
     
    #define END_RESOURCES \
            NEW_RESOURCE(resources_end, 0) \
        }; \
        static __s_resources resources;
     
    #define NEW_RESOURCE(__RESOURCE_NAME__, __RESOURCE_PATH__) \
        const char * const __RESOURCE_NAME__ = __RESOURCE_PATH__;
     
     
    #define NEW_BUTTON(__BUTON_NAME__, __NORMAL__, __SELECTED__, __DISABLED__) \
        BEGIN_GROUP(__BUTON_NAME__)    \
            NEW_RESOURCE(normal, __NORMAL__);      \
            NEW_RESOURCE(selected, __SELECTED__);    \
            NEW_RESOURCE(disabled,__DISABLED__);    \
        END_GROUP(__BUTON_NAME__)
     
     
    //------------------------------------------------------------------------------
    // Création de la structure des ressources
    //
    BEGIN_RESOURCES
        BEGIN_GROUP(fonts)
            NEW_RESOURCE(game_typo, "fonts/game_typosletters_nogrid.png");
            NEW_RESOURCE(arista_2, "fonts/arista_2/arista_2.fnt");
        END_GROUP(fonts)
     
        BEGIN_GROUP(images)
            BEGIN_GROUP(backgrounds)
                NEW_RESOURCE(blue, "images/background_blue.png");
            END_GROUP(backgrounds)
     
            BEGIN_GROUP(buttons)
                NEW_BUTTON(
                           back,
                           "images/button_back_normal.png",
                           "images/button_back_selected.png",
                           0);
                NEW_BUTTON(
                           game_normal,
                           "images/button_game_normal_normal.png",
                           "images/button_game_normal_selected.png",
                           0);
                NEW_BUTTON(
                           game_pro_enable,
                           "images/button_game_pro_enable_normal.png",
                           "images/button_game_pro_enable_selected.png",
                           0);
                NEW_BUTTON(
                           game_pro_disable,
                           "images/button_game_pro_disable_normal.png",
                           "images/button_game_pro_disable_selected.png",
                           0);
                NEW_BUTTON(
                           play,
                           "images/button_play_normal.png",
                           "images/button_play_selected.png",
                           0);
                NEW_BUTTON(
                           reward,
                           "images/button_reward_normal.png",
                           "images/button_reward_selected.png",
                           0);
            END_GROUP(buttons)
     
            NEW_RESOURCE(element_block_green, "images/element_block_green.png");
        END_GROUP(images)
     
     
    END_RESOURCES
    ca coince d�s le premier BEGIN_RESOURCES

    J ai essay� de rajouter un attribut static dans la macro NEW_RESOURCE mais ca n'a pas r�gl� le soucis (meme erreur)

    Une id�e?

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Ca n'existe pas des Designer sous XCode ?

    Parce que c'est le genre de code bien pourri d'avant VS .NET, o� on ne pouvait pas y ajouter son propre Designer.

    En claire, �a m'h�risse le poil ce type de code MFCesque.

    Comme vous ne donnez pas "NEW_RESOURCE" c'est plus � Mm. Irma qu'il faut vous adressez.
    Et selon http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx
    C'est "static const" et pas static qu'il faut mettre.

  3. #3
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut
    Citation Envoy� par bacelar Voir le message
    Comme vous ne donnez pas "NEW_RESOURCE" c'est plus � Mm. Irma qu'il faut vous adressez.
    .
    il est la

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    #define NEW_RESOURCE(__RESOURCE_NAME__, __RESOURCE_PATH__) \
        const char * const __RESOURCE_NAME__ = __RESOURCE_PATH__;
    probleme r�solu en mettans une fonction initresources() dans un resource.cpp

    je trouve aussi le code assez imbitable, mais a priori on aura plus a y toucher des masses

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    mais a priori on aura plus a y toucher des masses
    C'est le genre de remarque qui laisse planer un l�ger doute sur la m�thodologie de d�veloppement suivi.
    Il faut toujours �tre capable de revenir sur n'importe quel choix � n'importe quel moment du d�veloppement.
    Ne cherchez pas, vous y retoucherez, c'est oblig� par la loi de Murphy.

    Mais bon, la d�finition d'une variable globale "constante" planqu�e sous une palanqu� de MACRO, c'est clair qu'il vaut mieux cacher �a dans un cpp.

    Vous me faite regretter le format .rc et .res des vieux VS.

    Si c'est des ressources, mettez ces trucs dans des fichiers de ressources qui utilisent une syntaxe adapt�es, comme les .rc, les .res, voir en XAML.
    En fait, tous, sauf dans du code imbitable et sujet � implosion spontan�e au moindre #define dans un obscure include d'un SDK foireux d'un �diteur bord�lique.

  5. #5
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut
    Citation Envoy� par bacelar Voir le message
    C'est le genre de remarque qui laisse planer un l�ger doute sur la m�thodologie de d�veloppement suivi.
    mouais ... un d�veloppeur a pris l initiative de faire de cette fa�on, ca pr�sente certains avantages comme l auto completion des resources.

    honnetement j ai vu bien pire niveau code imbitable et la methodologie doit faire avec d autres realit�s notamment economique et de timing

    et oui je travaille pas vraiment dans un milieu acad�mique d�sol� messieurs

    et puis maintenant ca compile et j'ai mis r�solu.

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    la methodologie doit faire avec d autres realit�s notamment economique et de timing
    C'est vrai que le temps pass� � faire du d�verminage est gratuit dans votre industrie.

    Sortez la t�te du guidon, et regardez un peu les m�thodologies actuelles, ou vous serez condamn� � faire toujours les m�mes b�tises, tel un Sisyphe.

    Exemple : M�thodologies Agiles, TDD, etc...

    un d�veloppeur a pris l initiative
    Dans un an, �a sera la faute d'un stagiaire qui est parti.

  7. #7
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut
    aie aie aie que de conclusions vite tir�es !

    Il vaut mieux pas que je montre le thread au d�veloppeur en question sinon on est parti pour un d�bat qui va durer 7 ans

    merci pour l'aide en tout cas, je retourne � mon guidon de ce pas

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB6] Compile error: Invalide use of New Keyword
    Par ironik dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 16/05/2006, 12h40
  2. [VB6]Compil error: can't find project or library
    Par riesseg dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 03/05/2006, 22h28
  3. [vba][Array]pb compile error
    Par megapacman dans le forum Access
    R�ponses: 2
    Dernier message: 18/03/2006, 09h24
  4. R�ponses: 12
    Dernier message: 26/01/2006, 14h51
  5. compilation error
    Par lion1 dans le forum MFC
    R�ponses: 6
    Dernier message: 19/10/2005, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo