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 :

option /i de cl non détectée


Sujet :

C

  1. #1
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut option /i de cl non détectée
    bonjour à tous et bonne année ;
    pour moi elle commence pas fort !
    j'ai repris le programme helloWindows du très bon livre de Charles Petzold "Programmer sous windows 95" ;
    je ne veux pas passer par un environnement Visual donc j'utilise directement cl link et nmake en ligne de commande pour compiler le programme.
    Malheureusement voici ce que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            cl -c -DSTRICT -G3 -Ow -W3 -Zp -Tp hellowin.c
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
    Copyright (C) Microsoft Corp 1984-1997. All rights reserved.
     
    hellowin.c
    hellowin.c(5) : fatal error C1034: windows.h: no include path set
    NMAKE : fatal error U1077: 'cl' : return code '0x2'
    Stop.
    Je ne comprend pas pourquoi le fichier windows.h n'est pas trouvé et cela même lorsque la compilation s'execute dans le dossier comprenant windows.h
    Quelqu'un a-t-il une idée ?

  2. #2
    Membre éclairé
    Avatar de Kirilenko
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 234
    Points : 807
    Points
    807
    Par défaut
    Tu es allé voir de ce côté ?
    Récursivité en C : épidémie ou hérésie ?

    "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman

  3. #3
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Je rappelle que je n'utilise pas visual c++ x.y ...
    La variable d'environnement PATH comporte tous les chemins necessaires et la variable INCLUDE itou !
    Le fichier make comporte toutes les options souhaitées ;
    le soucis viens du fait que je n'arrive pas à faire accepter l'option /i de cl.exe qui pourtant est le seul moyen d'inclure un répertoire supplémentaire de recherche !? Alors j'ai transféré mes fichiers .c et .mak dans le répertoire des fichiers include (où se situe windows.h) et là pareil !!

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 172
    Points : 191
    Points
    191
    Par défaut
    Bonjour,

    C'est bizarre! Lorsque tu fais un ça dit quoi?

    Sinon place le directement dans le makefile.

    Et passes à MSBUILD

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    salut !

    peut-être as tu un #include <windows.h> au lieu d'un #include "windows.h" ?

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

  6. #6
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Pour Baccali : je suis sur powershell alors je verifie la variable include et c'est ok .
    peut-être as tu un #include <windows.h> au lieu d'un #include "windows.h" ?
    c pas ça non plus.
    mais le plus étrange c'est qu'il n'y a aucun problème sur XP ;
    par contre avec Vista c'est un sac de noeud !
    Je viens de me rendre compte que lorsque je modifie les variables d'environnement y a un gros problème ...

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 172
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par exe2bin Voir le message
    Pour Baccali : je suis sur powershell alors je verifie la variable include et c'est ok .
    Ton problème vient de là! Une variable déclarée sous powershell n'est pas une variable d'environnement! Si tu veux déclarer une variable d'environnement sous powershell faut le faire dans Env:\

    Donc soit tu passes sour cmd.exe soit sous powershell tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PS>$env:INCLUDE = "...."
    Et faudrait faire la même chose pour toutes les variables d'environnement nécessaires à la sdk. Sachant que si tu lances vsvar32.cmd sous powershell ça servira à rien puisque powershell ouvre un nouveau shell pour chaque script "non-powershell" (vb, js etc...) lancé. Donc une fois le script terminé tout est perdu.

    Je suis justement, à mes heures perdues, en train de réécrire ce script sous powershell. Quand il sera fini si tu veux je te fais signe. Mais en attendant, le plus simple c'est de passer par le command prompt de la sdk ou de lancer vsvar32 sous cmd.exe.

    Ou alors tu passes le /i"chemin vers les repertoires" EXPLICITEMENT et pour chaque répertoire dans ta commande, ce que je ne vois pas dans ton premier message

    Ou encore, comme je le disais, tu mets toutes ces variables dans ton makefile sous la forme

  8. #8
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Je suis justement, à mes heures perdues, en train de réécrire ce script sous powershell. Quand il sera fini si tu veux je te fais signe. Mais en attendant, le plus simple c'est de passer par le command prompt de la sdk ou de lancer vsvar32 sous cmd.exe.
    t'embêtes pas je l'ai déjà fait , le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    set-location env:
    new-item -name CC -value "cl"
    new-item -name LINKER -value "link"
    new-item -name CFLAGS -value "-c -DSTRICT -G3 -Ow -W3 -Zp -Tp"
    new-item -name GUIFLAGS -value "-SUBSYSTEM:windows"
    new-item -name DLLFLAGS -value "-SUBSYSTEM:windows -DLL"
    new-item -name GUILIBS -value "-DEFAULTLIB:user32.lib gdi32.lib winmm.lib comdlg32.lib comctl32.lib"
    new-item -name RC -value "rc"
    new-item -name RCVARS -value "-r -DWIN32"
    ce n'est pas pour cela que ça marche

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 172
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par exe2bin Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    set-location env:
    new-item -name CC -value "cl"
    new-item -name LINKER -value "link"
    new-item -name CFLAGS -value "-c -DSTRICT -G3 -Ow -W3 -Zp -Tp"
    new-item -name GUIFLAGS -value "-SUBSYSTEM:windows"
    new-item -name DLLFLAGS -value "-SUBSYSTEM:windows -DLL"
    new-item -name GUILIBS -value "-DEFAULTLIB:user32.lib gdi32.lib winmm.lib comdlg32.lib comctl32.lib"
    new-item -name RC -value "rc"
    new-item -name RCVARS -value "-r -DWIN32"
    Ah! Et çà t'as déjà servit à quelque chose???

    Déjà il n'y a pas de INCLUDE là dedans. ni de LIBPATH etc... là dedans.

    Ensuite es-tu sûr que ton code fonctionne? parce que moi il requiert un type explicite. Tu as quelle version de .NET et powershell? Tu retrouves bien ces variables dans env: ?

    $env:guidlib te donne quoi?

    P.S. : Moi c'est un truc beaucoup plus portable que je souhaite faire. Et pour çà il faut pas mal jouer avec le registre pour choper les répertoires d'installation de la SDK, de VS etc... Sans compter le x32, x64. Bref, j'ai pas fini -.-". Me faudrait trouver le temps pour prendre un journée au grand complet, un de ces 4

  10. #10
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    ça fait beaucoup de questions !
    $env:guidlib te donne quoi?
    ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -DEFAULTLIB:user32.lib gdi32.lib winmm.lib comdlg32.lib comctl32.lib

  11. #11
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 172
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par exe2bin Voir le message
    ça fait beaucoup de questions !


    Ok essayes de définir les includes aussi. Regardes toutes les variables dans un prompt visual studio et tu verras la panoplie de variable qu'il te manque.

    Bonne soirée

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/02/2007, 09h42
  2. [Cookies] cookie non détecté
    Par dubitoph dans le forum Langage
    Réponses: 5
    Dernier message: 21/06/2006, 23h18
  3. [C#2.0] Keys.XXX non détecté , pourquoi ?
    Par chnew dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/04/2006, 09h47
  4. Carte réseau non détectée sous Win XP
    Par maddog2032 dans le forum Hardware
    Réponses: 10
    Dernier message: 20/10/2005, 11h54
  5. [JMF] webcam non détectée
    Par Goldocrack dans le forum Multimédia
    Réponses: 3
    Dernier message: 17/07/2005, 00h31

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