none
Aide sur Visual Studio C++ RRS feed

  • Question

  • Bonsoir a tous, je suis novice car a l'utilisation de Microsoft Visual Studio C++.

    J'ai des fichiers open sources fait avec Microsoft Visual Studio C++, et quand je fais un Debug ou Release il sort une errerur en gros ne peut ouvrir un fichier qui a eté generé avec une extension .lib.

    J'ai tout essayé mais je ne comprends pas, pouvez vous m'aider ?

    Cordialement Fred




    • Modifié bbjodel jeudi 7 juin 2012 16:59
    jeudi 7 juin 2012 16:57

Réponses

  • Ne jamais changer l'arborescence d'un projet, tu devras. ;-))

    Le projet open source utilise un outil dit de GCL du nom de Subversion (SVN).

    Vous devez utiliser un outil type TortoiseSVN (http://tortoisesvn.net/downloads.html)

    En utilisant ce type d'outil, vous devriez récupérer toute l'arborescence du projet dans un seul répertoire, local à votre machine.

    Vous aurez ainsi une arborescence strictement identique, par rapport à la racine du dépôt SVN, à ceux des développeurs initiaux.

    Si le projet est correctement fait, tous les chemins aux fichiers sources et projets sont des chemins relatifs à la racine du dépôt SVN.

    Donc vous n'auriez qu'à double cliquer sur le sln pour que VS2010 détecte que c'est un projet VS2008, vous propose une conversion des projets et sauvegarde les fichiers à modifier dans un nouveau répertoire et modifie ces fichiers in situ dans l'arborescence.

    Donc, en résumé, récupérez toute l'arborescence des fichiers source avec un client SVN et ne déplacez aucun fichier ou répertoire.

    Si vous avez déjà des erreurs avant de les déplacer, indiquez-nous ces erreurs.

    L'histoire du bouton de démarrage de la session de Debugging grisé, c'est vraisemblablement parce que le projet lui-même c'est mal chargé, du vraisemblablement à une arborescence de fichiers incomplètes ou détériorées.

    Je vous conseil, avant de faire F5 (lancement d'une session de debugging), de faire F6 (gérération des projets nécessaires à la création du projet de démarrage et du projet de démarrage lui-même).

    S'il y a des problèmes, la fenêtre Sortie/Output indique la nature précise du problème.


    Paul Bacelar, Ex - MVP VC++

    vendredi 8 juin 2012 17:23
    Modérateur

Toutes les réponses

  • Bon il faudrait commencer par un peu de "Jargon" ;-)

    " je fais un Debug ou Release " Ca veut dire essayer de compilé le projet en configuration Debug ou en configuration Release, n'est-ce pas ?

    " il sort une errerur ", oui mais une erreur à la compilation ou à l'édition de lien ?

    " en gros ne peut ouvrir un fichier", évitez le <en gros>, donnez le message exacte svp.

    "qui a eté generé avec une extension .lib", c'est un fichier .lib en entré du projet ou un fichier résultant de la compilation du projet.

    Mme. Irma a pris des vacances, il faudrait être plus précis, comme le message d'erreur et l'éventuel code source indiqué par le message d'erreur.


    Paul Bacelar, Ex - MVP VC++

    jeudi 7 juin 2012 17:33
    Modérateur
  • Bonsoir Paul et merci de me répondre, toutes mes excuses pour le double post..

    Quand j'essaye de faire un Debug ou Release, jai un méssage d'erreur qui me dit:

    Unable to start program 'C:\Projets Visual C++\diy-efis-win32\Debug\vFC.lib'.

    The specified file is an unrecognized or unsupported binary format.

    Pourtant à la génération il m'a construit le fichier vFC.lib, je ne comprends pas...

    Attention je tiens a attirer ton attention, je suis super nul avec Visual C++ et j'aimerais comprendre car ce projet open source m’intéresse car je suis Pilote Privé Avion et Instructeur ULM et je suis entrain de construire un EFIS (Electronic Flight Instruments System), j'ai fait toute la partie électronique or il me manque juste cette partie graphique que hélas je ne maitrise pas du tout..

    Voici le lien:

    https://sourceforge.net/projects/diy-efis/

    et pour le code aller dans Code et SVN Browse

    Fred



    • Modifié bbjodel jeudi 7 juin 2012 18:16
    jeudi 7 juin 2012 18:11
  • Je vais donc essayer de ne pas vous noyer sous les détailles.

    Primo : sur le site du projet, il y a une version Win32 compilée de l'application (AIO.exe), non ?

    Si vous ne voulez pas apportez de modifications à ce programme autant vous en servir directement.

    Secondo, j'ai brièvement navigué dans les sources du projet et j'ai vu que c'est une solution VS2008, est-ce la version de votre VS, ou avez vous fait une migration de la solution au moment de l'ouverture de la solution sous VS2010 ?

    Tertio, Visual Studio est un IDE : Interactive Development Environment. C'est une espèce de tour de contrôle où on peut faire plein de chose au même endroit.

    Donc, le message d'erreur que vous avez, n'est pas une erreur de compilation mais une erreur lors du lancement d'une session de Débugging (F5). Le fait que c'est une configuration Debug ou Release n'a pas d'importance, on peut toujours débugger une application, même quand elle a été compilé en configuration Release.

    En lançant une session de debugging VS détectera si les sources du projet "de démarrage" ont bien été compilé, si non il demande s'il faut les compiler, les compiles si vous le demander et lance l'"exécutable" résultant de la compilation de votre projet.

    Le problème, c'est que votre projet de démarrage ne produit pas un exécutable (.exe) mais une librairie (.lib), mais c'est normal pour ce projet.

    Donc, pour faire court, votre solution VS contient plusieurs projets. Il projet de démarrage (en gros) est "vFC" et je pense que c'est plutôt le projet "AIO" qui devrait être votre projet de démarrage.

    Dans l'explorateur de solution (la fenêtre contenant tout les projets et les fichiers les constituants sous forme d'un arbre), sélectionnez le projet "AIO" -> click-droit -> sélectionnez dans le menu contextuel l'entré "Définir comme projet de démarrage".

    C'est tout.


    Paul Bacelar, Ex - MVP VC++

    vendredi 8 juin 2012 11:02
    Modérateur
  • Oui effectivement sur le site il y a une version Win32 compilée mais pas utile pour moi car je dois apporter des modifications qui sont les suivantes:

    Ajouter le code pour recevoir via port serie ou usb les données venant d'une carte d'acquisition de données en temps réel pour pouvoir afficher tout cela sur AIO.exe. Ce programme va etre empbarqué sur avion et ulm via une mini carte mere...

    Effectivement la version du code source est bien en VS2008, que j'ai migré en version VS2010.

    Dans les sources figure un dossier nommé src qui lui meme contient deux sous dossier aio et vfc ou dois-je placer le dossier src ?

    Actuellement j'ai trouvé qu'il doit etre sur la la racine du disque dur pour ne pas avoir des erreurs pendant le Debug ou Realese,.

    J'ai mis AIO de l'explorateur de solution comme projet de demarrage le bouton (Fleche verte) du Debug ou Realese est grisé donc pas moyen de Debugger.

    Le Projet AIO qui figure sur l'explorateur de solution est vide !!!

    A mon avis j'ai du placer src a un mauvais endroit.

    Pouvez vous m'éclairer sur ce point ?

    Cordialement Fred





    • Modifié bbjodel vendredi 8 juin 2012 16:21
    vendredi 8 juin 2012 12:43
  • Ne jamais changer l'arborescence d'un projet, tu devras. ;-))

    Le projet open source utilise un outil dit de GCL du nom de Subversion (SVN).

    Vous devez utiliser un outil type TortoiseSVN (http://tortoisesvn.net/downloads.html)

    En utilisant ce type d'outil, vous devriez récupérer toute l'arborescence du projet dans un seul répertoire, local à votre machine.

    Vous aurez ainsi une arborescence strictement identique, par rapport à la racine du dépôt SVN, à ceux des développeurs initiaux.

    Si le projet est correctement fait, tous les chemins aux fichiers sources et projets sont des chemins relatifs à la racine du dépôt SVN.

    Donc vous n'auriez qu'à double cliquer sur le sln pour que VS2010 détecte que c'est un projet VS2008, vous propose une conversion des projets et sauvegarde les fichiers à modifier dans un nouveau répertoire et modifie ces fichiers in situ dans l'arborescence.

    Donc, en résumé, récupérez toute l'arborescence des fichiers source avec un client SVN et ne déplacez aucun fichier ou répertoire.

    Si vous avez déjà des erreurs avant de les déplacer, indiquez-nous ces erreurs.

    L'histoire du bouton de démarrage de la session de Debugging grisé, c'est vraisemblablement parce que le projet lui-même c'est mal chargé, du vraisemblablement à une arborescence de fichiers incomplètes ou détériorées.

    Je vous conseil, avant de faire F5 (lancement d'une session de debugging), de faire F6 (gérération des projets nécessaires à la création du projet de démarrage et du projet de démarrage lui-même).

    S'il y a des problèmes, la fenêtre Sortie/Output indique la nature précise du problème.


    Paul Bacelar, Ex - MVP VC++

    vendredi 8 juin 2012 17:23
    Modérateur
  • Bonjour Paul, j'ai crée un répertoire sur mon HDD nommé EFIS, clic droit sur ce répertoire et clic sur SVN Checkout puis le téléchargement a commencé.

    Dans ce répertoire figure un répertoire nomme .svn aio et vfc, les répertoires aio et vfc contiennent que des fichiers entêtes .h et cpp mais pas de fichiers .sln ou autre.

    Peut-être ais-je fait une mauvaise manip ?

    Que dois je faire après ?

    Repository URL:

    https://diy-efis.svn.sourceforge.net/svnroot/diy-efis/src/

    Bigre, j'ai essayé https://diy-efis.svn.sourceforge.net/svnroot/diy-efis/

    et la j'ai bien des repertoires cités ci-dessus plus un repertoire targets et hardware..

    Merci par avance,

    Alfred


    • Modifié bbjodel mercredi 13 juin 2012 11:48
    mercredi 13 juin 2012 11:42
  • Je viens aux nouvelles. ;-)

    Dans le répertoire  ./targets/win32, il y a un fichier aio.sln (VS2008) référençant 5 projets VS.

    Avez-vous réussi à recompiler ces projets ?


    Paul Bacelar, Ex - MVP VC++

    mercredi 27 juin 2012 11:49
    Modérateur