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

VC++ .NET Discussion :

Les pragma comment pour linker les libraires!


Sujet :

VC++ .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut Les pragma comment pour linker les libraires!
    Bonjour tout le monde!

    Je met ce post pour savoir si quelqu'un pourrait m'expliquer simplement à quel moment on met ou on ne met pas les "#pragma comment" dans un projet!!

    Je travaille sur du SDL et C++ depuis quelques jours maintenant, mais je ne comprend pas quand il faut mettre les "pragma comment"!

    Au début, quand je bossais sur le SDL, je n'avais pas besoin d'appeler les pragma comment pour appeler mes librairies!
    Mais je ne sais pas pourquoi, depuis que j'appelle la librairie SDL_image, je suis obligé d'appeler TOUTES les libraires qui touchent aux SDL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
     
    #pragma comment(lib,"SDL.lib")
    #pragma comment(lib,"SDLmain.lib")
    #pragma comment(lib,"SDL_image.lib")
    J'ai un peu l'impression que c'est du "au petit bonheur la chance" de savoir quand on met les "pragma comment". La pour l'instant, je les met quand on a l'erreur...

    Erreur 1 error LNK2019: symbole externe non résolu _main référencé dans la fonction ___tmainCRTStartup MSVCRTD.lib
    Erreur 2 fatal error LNK1120: 1 externes non résolus C:\Program Files\Microsoft Visual Studio 8\VC\Projets\Evenements\Debug\Evenements.exe
    Mais j'aime pas programmer à l'aveuglette, je suis sur qu'il y a une explication rationnelle!

    Donc j'attend une explication rationnelle s'il vous plait!

    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    l'utilisation de la direction pragma comment est équivalente à la liaision d'un .lib à ton projet lors du link de celui-ci. Cette action est aussi faisable en paramétrant la ligne de commande de l'édition de liens.

    Tu as besoin de lier un .lib lorsque tu utilises des fonctions qui sont implémentées dans une bibliotheque externe. C'est le cas par exemple de la sdl.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut
    Merci de ta réponse!

    Pourtant lors ce que j'ai commencé a bosser sur la SDL, je n'avais pas besoin de faire un pragma comment de cette lib, que j'avais décompréssé dans le dossier "lib" de VS 2005! (idem pour la lib sdl_images)

    Cette action est aussi faisable en paramétrant la ligne de commande de l'édition de liens.[
    Pourrais tu me donner la commande? C'est pas le /NODEFAULTLIB:lib?

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    il s'agit d'ajouter les lib dnas la configuration du projet. http://cpp.developpez.com/faq/vc/?pa...oBindStaticLib à savoir : propriétés du projet, configuration properties, linker, input, additional dependencies et indiquer ici le .lib à lier

    si tu as repris un projet existant, c'était peut-etre déjà fait

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut
    OK, je te remercie pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/05/2010, 11h59
  2. Callback pour tous les clients sauf pour l'emetteur.
    Par Yogy dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 21/11/2009, 11h22
  3. Réponses: 4
    Dernier message: 01/10/2008, 08h59
  4. Comment ignorer tous les styles existants pour un textarea
    Par whitespirit dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 25/04/2008, 10h17
  5. comment rendre disponnible les appli silverligth pour vs2008
    Par inno007 dans le forum Silverlight
    Réponses: 6
    Dernier message: 21/02/2008, 10h32

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