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

 C++ Discussion :

error C1189: #error : "No Target Architecture"


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    septembre 2013
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : septembre 2013
    Messages : 230
    Points : 553
    Points
    553
    Par défaut error C1189: #error : "No Target Architecture"
    Salut c'est encore moi

    Voici mon problème. J'ai inclus windef.h dans le header d'une lib afin que cette lib arrête de gueuler pour des erreurs de type à la con. Ce qui semblerait être bon. Mais je ne peux encore vérifier ça puisque j'ai une erreur sur laquelle je me casse les dents depuis ce matin.

    1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(146): fatal error C1189: #error : "No Target Architecture"
    Sur stackoverflow on m'a conseillé plusieurs choses, dont remplacer windef.h par windows.h. J'avais déjà essayé ça auparavant mais on ne peut pas #include windows.h dans une appli MFC. Ca l'est par défaut si je me souviens bien.

    Du coup on m'a conseillé de virer windef.h dans le header de précompilation, qui à ce que j'ai compris s'avère être stdafx.h. Malheureusement il n'y est pas.

    Je vous livre mes extraits de code, ainsi que les includes.

    winnt.h, qui lève l'erreur No Target Architecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #if defined(_AMD64_) || defined(_X86_)
    #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
    #elif defined(_IA64_) || defined(_ARM_)
    #define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \
                                  TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))
    #elif !defined(RC_INVOKED)
    #error "No Target Architecture"
    #endif
    1>------ Début de la génération*: Projet*: MFC_NetSDK2, Configuration*: Debug Win32 ------
    1> stdafx.cpp
    1> Remarque*: inclusion du fichier*: d:\visual studio 2012\netsdk_poc\mfc_netsdk2\mfc_netsdk2\stdafx.h
    1> Remarque*: inclusion du fichier*: d:\visual studio 2012\netsdk_poc\mfc_netsdk2\mfc_netsdk2\Libs\\netsdk.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stddef.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\sal.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ConcurrencySal.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\vadefs.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\windef.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winapifamily.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings_strict.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings_undef.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\driverspecs.h
    1> Remarque*: inclusion du fichier*: c:\program files (x86)\windows kits\8.0\include\shared\sdv_driverspecs.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ctype.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h
    1> Remarque*: inclusion du fichier*: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\kernelspecs.h
    1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(146): fatal error C1189: #error : "No Target Architecture"
    J'offre un brownie à celui qui trouvera

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    6 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 6 826
    Points : 31 285
    Points
    31 285
    Billets dans le blog
    4
    Par défaut
    Bonjsoir,

    sur quoi compiles-tu ?
    A priori ce n'est pas du AMD64, ni du 32bits, ni de l'ARM ou encore du IA64 (kézako ?).

    L'erreur est alors levée, parce que RC_INVOKED n'est pas défini.. peut-être peux-tu le définir ?

    "Ajouter l'include de windef.h" au petit bonheur la chance ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    septembre 2013
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : septembre 2013
    Messages : 230
    Points : 553
    Points
    553
    Par défaut
    Salut Bousk,
    Je compile sous VS 2012. J'ai un PC W7 en 64 bits (donc une config plutôt standard) mais jusqu'ici la compil de l'appli se faisait en 32, et ça passait. J'ai quand même fait quelques changements de cible en allant dans les propriétés du projet -> linker -> avancé -> ordinateur cible.

    J'avais aussi pensé à définir RC_INVOKED mais je n'ai pas trouvé comment faire. Je comptais continuer là dessus, si tu as des pistes pour accélérer tout ça je serai content

    "Ajouter l'include de windef.h" au petit bonheur la chance ?
    J'ai rajouté windef.h directement dans la lib qui posait problème. Je viens de retester en l'incluant dans stdafx.h et j'ai toujours la même erreur. D'ailleurs petit conseil, est-ce une bonne pratique d'inclure une dépendance dans stdafx.h ? Moi qui vient plutôt du monde java j'ai tendance à rajouter les dépendances uniquement dans les fichiers en question.

  4. #4
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    septembre 2013
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : septembre 2013
    Messages : 230
    Points : 553
    Points
    553
    Par défaut
    OK j'ai rajouté #define RC_INVOKED dans mon stafx.h. D'ailleurs je ne pensais pas que simplement définir RC_INVOKED pourrait marcher, je pensais qu'il fallait lui rajouter une valeur. Je trouve ça étrange mais si quelqu'un peut m'éclairer sur ce point ça m'aiderait à mieux comprendre le fonctionnement de C++.

    N'empêche que je me retrouve avec un tas d'autres erreurs qui n'ont pas l'air liées au problème précédent. Maintenant c'est string.h qui est en cause. Si maintenant je dois débugguer tous les types de VS je crois que je n'ai pas fini

    Voici une petite partie de la stack. Peut etre que vous aurez des pistes à proposer sur l'origine du problème. Parce que là, sérieux, je commence à en avoir marre de cette lib antédiluvienne qui pousse son caprice. Ca a des relents de similitude avec ça. Je crois que je suis maudit

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/06/2009, 12h24
  2. Réponses: 2
    Dernier message: 27/06/2007, 00h49
  3. fatal error C1189: #error : WINDOWS.H already included.
    Par Moustico dans le forum Windows
    Réponses: 1
    Dernier message: 04/07/2006, 19h22
  4. error C1189 et windows.h
    Par hitchie dans le forum MFC
    Réponses: 6
    Dernier message: 30/09/2005, 14h41

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