none
Inclure myconio.h à un projet Visual Studio RRS feed

  • Question

  • Bonjour,

    J'ai besoin d'inclure myconio.h à mon fichier source pour pouvoir utiliser gotoxy() pour un projet demandé par mon professeur. Malheureusement mon professeur utilise Eclipse et n'a jamais utilisé Visual Studio, il ne peut donc pas m'aider, et n'aimant pas Eclipse je souhaite rester sur VS.

    Lorsque je tape le code

    #include <myconio.h>

    Visual Studio 2013 me renvoie une erreur : il ne trouve pas myconio.h.

    J'ai donc essayé de plusieurs façons, d'abord je suis allé sur les fichiers d'en-tête du projet et j'ai ajouté myconio.h puis myconio.cpp dans les fichiers sources. (à l'intérieur même du projet) C'est-à-dire, Fichiers d'en-tête > Clique-droit > Ajouter > Elément existant > myconio.h

    En procédant de cette façon, ça ne fonctionne pas, pire encore, cela génère 22 erreurs supplémentaires, essentiellement issues de winnt.h (j'ai remarqué que myconio.h inclue windef.h et non windows.h, j'ai remplacé windef.h par windows.h, ce qui a résolu les erreurs de myconio.h mais pas de myconio.cpp).

    J'ai ensuite essayé de copier myconio.h et myconio.cpp dans divers dossiers (les includes de VS 11 et VS 12, au sein de mon projet, dans le dossier de la solution) et rien à faire, il ne veut PAS utiliser myconio.h.

    Quelqu'un pourrait-il m'aider à résoudre ce problème ? J'ai l'impression d'essayer de dessiner avec du savon sur une patinoire là...

    Merci par avance :)

    jeudi 16 octobre 2014 15:01

Réponses

  • Bonjour,

    Ecrivez plutôt :

    #include "myconio.h"

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    jeudi 16 octobre 2014 21:32
    Modérateur

Toutes les réponses

  • Bonjour,

    Ecrivez plutôt :

    #include "myconio.h"

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    jeudi 16 octobre 2014 21:32
    Modérateur
  • Bonsoir,

    Merci pour votre réponse, si je comprends bien, l'écriture <myconio.h> renvoie obligatoirement à des librairies par défaut et "myconio.h" permet d'utiliser des adresses relatives de fichiers ? (dans mon cas "myconio/myconio.h" a parfaitement fonctionné :-) )

    Merci encore, très bonne soirée. :-)

    jeudi 16 octobre 2014 23:17
  • La différence entre #include "..." et #include <...> est que la première formulation commence par chercher en prenant comme début de chemin de recherche le répertoire contenant le .cpp en cour de compilation, puis, s'il ne trouve pas le .h, il cherche en prenant comme début de chemin de recherche chacun des répertoires d'includes configurés pour le projet, puis de l'environnement.

    Avec la seconde formulation, le préprocesseur va directement chercher dans les répertoires d'includes du projet puis de l'environnement.

    Cela permet d'applique cette règle :

    Utiliser la formulation avec les guillemets pour les includes du projet.

    Utiliser la formulation avec les chevrons (<...>) pour tout fichier extérieur au projet (include de lib, include de framework, include d'OS, ...)


    Paul Bacelar, Ex - MVP VC++

    vendredi 17 octobre 2014 10:00
    Modérateur
  • Merci pour cette précision bien utile, je comprends mieux l'origine du problème, j'en ferai profiter l'ensemble de ma promotion :)

    vendredi 17 octobre 2014 10:49