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 :

compilation console : NMAKE - Visual Studio 2017


Sujet :

C

  1. #1
    Membre confirmé Avatar de Redgard
    Homme Profil pro
    x
    Inscrit en
    Décembre 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : x

    Informations forums :
    Inscription : Décembre 2014
    Messages : 90
    Par défaut compilation console : NMAKE - Visual Studio 2017
    Bonjour,

    Je me suis lancé sur la compilation à partir d'un makefile sur base de ce tuto. SOURCE: https://docs.microsoft.com/fr-fr/cpp...e-command-line
    J'utilise donc le compilateur de Visual Studio 2017 et la commande NMAKE> Documentation SOURCE: https://docs.microsoft.com/fr-fr/cpp...make-reference

    Mais il semble que le MakeFile change sur différents point par rapport au Makefile de d'autres compilateurs, j'aimerais donc savoir si certains d'entre vous pourrait me donner des conseils ou de liens vers des pages d'explication plus poussé. Car la je tourne sur le net sans trouver quelques choses de concluant.

    Mon Makefile
    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
    CC=cl.exe
     
    TabManipulator.exe : Main.obj Entry.obj Output.obj OperTable.obj
    	$(CC) -out TabManipulator.exe Main.obj Entry.obj Output.obj OperTable.obj
     
    Main.obj : Main.c Entry.h Output.h OperTable.h
    	$(CC) -c Main.c
     
    Entry.obj : Entry.c Entry.h
    	$(CC) -c Entry.c
     
    Output.obj : Output.c Output.h
    	$(CC) -c Output.c
     
    OperTable.obj : OperTable.c OperTable.h
    	$(CC) -c OperTable.c
    Ma sortie Console:
    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
    D:\6. MEGAsync\Elearning\C\OpTableau>NMAKE
     
    Microsoft (R) Program Maintenance Utility Version 14.13.26128.0
    Copyright (C) Microsoft Corporation. Tous droits réservés.
     
            cl.exe -out TabManipulator.exe Main.obj Entry.obj Output.obj OperTable.obj
    Compilateur d'optimisation Microsoft (R) C/C++ version*19.13.26128 pour x86
    Copyright (C) Microsoft Corporation. Tous droits réservés.
     
    cl*: Ligne de commande warning D9035*: l'option 'o' est déconseillée et sera supprimée dans une version ultérieure
    cl*: Ligne de commande warning D9024*: type de fichier source non reconnu 'TabManipulator.exe', fichier objet pris par défaut
    Microsoft (R) Incremental Linker Version 14.13.26128.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
     
    /out:TabManipulator.exe
    /out:ut.exe
    TabManipulator.exe
    Main.obj
    Entry.obj
    Output.obj
    OperTable.obj
    LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'TabManipulator.exe'
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\HostX86\x86\cl.exe"'*: code retour '0x2'
    Stop.
    Merci d'avance
    Red'

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 058
    Billets dans le blog
    142
    Par défaut
    Bonjour,

    Les options sont sous la forme : /option avec ce compilateur (et sur Windows surtout).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé Avatar de Redgard
    Homme Profil pro
    x
    Inscrit en
    Décembre 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : x

    Informations forums :
    Inscription : Décembre 2014
    Messages : 90
    Par défaut
    J'y aie jeté un oeil, mais ça règle pas réellement mon problème.

    Je veux juste que mon Makefile compile mon programme, composé d'un main, de 3 header et de 3 librairies personnalisées. J'ai pas besoin de savoir qu'il n'y a je ne sais quelle option, qui fait je ne sais pas trop quoi, alors que j'ai déjà du mal avec la base et que je ne suis pas encore rendu à ce point là.

    C'est un peu le problème que je rencontre avec la documentation de Microsoft, que je ne trouve pas très parlante/explicite. Je lis des trucs, mais au final je ne sais pas comment les interpréter parce que je ne sais pas dans quelle contexte les placer.
    https://docs.microsoft.com/fr-fr/cpp...ample-makefile


    Dans la doc : http://gl.developpez.com/tutoriel/outil/makefile/

    J'ai vu qu'il spécifie ses "objets" dans la ligne de commandes, indiquant la clible, puis les dépendances. Je me souviens que quelqu'un m'avait dit que ce n'était plus d'actualité, est-ce vrai?




    Pour mes 3 dernières lignes, est ce que je peux faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %.obj : %.c %.h
    	$(CC) -c %.c
    Ce qui donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CC=cl.exe
     
    TabManipulator.exe : Main.obj Entry.obj Output.obj OperTable.obj
    	$(CC) -out TabManipulator.exe Main.obj Entry.obj Output.obj OperTable.obj
     
    Main.obj : Main.c Entry.h Output.h OperTable.h
    	$(CC) -c Main.c
     
    %.obj : %.c %.h
    	$(CC) -c %.c

Discussions similaires

  1. Réponses: 10
    Dernier message: 12/12/2017, 11h05
  2. Réponses: 1
    Dernier message: 07/11/2017, 09h16
  3. plus rien ne compile sous visual studio 2005
    Par pascale_92 dans le forum Visual C++
    Réponses: 2
    Dernier message: 02/11/2007, 09h36
  4. Réponses: 6
    Dernier message: 08/12/2006, 14h59
  5. Compilation avec Visual Studio 2005
    Par LordBob dans le forum MFC
    Réponses: 3
    Dernier message: 14/04/2006, 20h14

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