Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compiler avec VC++

    4 mars 2006 à 17:14:21

    J'ai un projet que j'avais commencé sur Dev C++, tout marchait, la compilation, pas de problème de lien...

    Je suis donc passée sous VC++ aujourd'hui, et là, la compilation devient un sport de haut niveau... J'ai pu mettre en lien les libs nécessaires comme SDL et FMOD, mais j'ai d'autres erreurs qui surviennent...

    Citation : Erreur

    1>Édition des liens en cours...
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj)
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _strrchr already defined in LIBCMT.lib(strrchr.obj)
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _fprintf already defined in LIBCMT.lib(fprintf.obj)
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _fopen already defined in LIBCMT.lib(fopen.obj)
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _fclose already defined in LIBCMT.lib(fclose.obj)
    1>msvcrt.lib(MSVCR80.dll) : error LNK2005: __isctype already defined in LIBCMT.lib(isctype.obj)
    1>LINK : warning LNK4031: no subsystem specified; CONSOLE assumed
    1>LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>C:\Documents and Settings\Nyny\Desktop\Programmation\editeur\Release\editeur.exe : fatal error LNK1169: one or more multiply defined symbols found



    Je ne sais plus quoi faire... J'ai tenté d'ignorer la lib citée, mais ça ne marche toujours pas...

    Si sur Visual, c'est aussi compliqué pour compiler, je retourne sur Dev. :p
    • Partager sur Facebook
    • Partager sur Twitter
      4 mars 2006 à 17:52:41

      Salut, j'ai télécharger moi aussi Visual C++ et j'ai eu le même problème que toi ( le fichier MSVCR80.dll ). Après quelques recherches sur internet j'ai trouve la solution au problème. :) Tout d'abord, tu ouvres ton projet. Ensuite tu vas dans "Projet" ( dans le menu du haut ) --> "Propriétés de 'ton projet'" --> tu déplie l'onglet "propriétés de configuration" puis celui de "Editeur de liens" --> Tu clique sur "fichier manifeste". Tu vérifie que "Génération d'un manifeste" a comme valeur "Oui" et que "Autoriser l'isolation" a comme valeur "Ne pas autoriser l'isolation côte à côte (/ALLOWISOLATION:NO)" sinon tu change. Ensuite tu recompile ( tu devras peut être nettoyer avant de compiler : pour ça, dans l'explorateur à gauche, bouton droit sur ton projet --> nettoyer et puis tu compile normalement ). Il faut faire ça pour tous les projets que tu créé pour que la compilation marche. Je crois qu'on peut le mettre par defaut mais je suis pas sur. Voila, en tout cas Visual C++ est 1000 fois mieux que Dev. A peine essayer, je l'ai tout de suite adopté ;)
      • Partager sur Facebook
      • Partager sur Twitter
        4 mars 2006 à 17:59:25

        Vous connaissez Wx-DevC++ ? un outils RAD intégré a DevC++ qui utilise la librairie wxWidgets.

        Pensez-vous qu'on peut faire la meme chose avec VC++ Express?? :-°
        Car, si il n'y a pas d'outils RAD pour VC++ Express.. Je préfére rester sous DevC++ :p
        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2006 à 23:18:07

          Hmmm, j'ai tenté ce que tu as dit Joe, mais cela ne marche pas, même erreur... :p
          • Partager sur Facebook
          • Partager sur Twitter
            5 mars 2006 à 11:25:36

            Ok pourtant chez moi ça a marché... :( Tu as bien nettoye avant de recompiler ?

            Il se peut que je me goure completement d'erreur :lol: . C'est bien celle la ?

            Citation : erreur

            Cette application n'a pas pu démarrer car MSVCR80D.dll est introuvable. La réinstallation de cette application peut corriger ce problème.

            • Partager sur Facebook
            • Partager sur Twitter
              6 mars 2006 à 1:03:43

              Non, ce n'est pas ça. :p C'est juste l'erreur affiché dans mon premier message. :p Une erreur lors de la compilation.
              • Partager sur Facebook
              • Partager sur Twitter
                11 mars 2006 à 12:32:18

                Je reprend mon ancien sujet pour éviter d'en ouvrir un autre...

                J'ai le même problème maintenant, avec le MSVC80D.dll. Apparament, lorsqu'on compile avec Visual Studio, il utilise cd DLL, ce qui le rend dépendant à ce dll. S'il n'est pas "installé" correctement, (fichier dans le dossier système), il ne marche pas... J'aimerais savoir comment le rendre indépendant? Je crois qu'on peut "incorporer" le DLL dans l'exe? Avec l'option multithread (/MT) au lieu de dll multithread, mais là, j'ai une erreur de compilation:

                Citation : Erreur

                1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj)
                1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _fprintf already defined in LIBCMT.lib(fprintf.obj)
                1>msvcrt.lib(MSVCR80.dll) : error LNK2005: _fclose already defined in LIBCMT.lib(fclose.obj)
                1>msvcrt.lib(MSVCR80.dll) : error LNK2005: __isctype already defined in LIBCMT.lib(isctype.obj)
                1>LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library



                Donc même erreur qu'au départ. :euh:
                • Partager sur Facebook
                • Partager sur Twitter

                Compiler avec VC++

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown