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

Visual C++ Discussion :

[VC++Exp][Win32][COM][NewB!]Probl�me de link


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut [VC++Exp][Win32][COM][NewB!]Probl�me de link
    J'ai tent� de compiler un code d'exemple tir� de MSDN (projet Win32 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
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <objbase.h>
    #include <msxml6.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
       CoInitialize(NULL);
       printf("start using MSXML6\n");
     
       // Add your code here.
     
       CoUninitialize();
       return 0;
    }
    Cela compile, mais ne link pas. Mon IDE est VC++ Express Edition.
    J'ai v�rifi�, j'ai bien les r�pertoires d'inclusion du Plateform SDK (for Windows Server 2003 R2) (inc/lib), du msxml6.0, et 'msxml6.lib' se trouve dans la ligne de commande du linker. (En faisant un clic droit sur le fichier d'include 'objbase.h' et en choisissant 'Ouvrir le document <objbase.h>, il arrive bien � le trouver...)

    La (double) erreur est la suivante :
    validateDOMProj.obj : error LNK2019: unresolved external symbol __imp__CoUninitialize@0 referenced in function _wmain
    validateDOMProj.obj : error LNK2019: unresolved external symbol __imp__CoInitialize@4 referenced in function _wmain
    De l�, j'avoue que je suis un peu perdu. Donc si quelqu'un avait une suggestion...
    Ce n'�tait qu'un bout d'exemple Je ne suis pas rendu

    merci par 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
    Par d�faut
    il faut utiliser CoInitializeEx
    et lier avec Ole32.lib

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Tu dois lier ton programme � ole32.lib.

    Ce qui me surprend, c'est que ole32.lib est g�n�ralement dans les biblioth�ques par d�faut de Visual...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut
    je n'ai pas tout suivi...
    j'ai chang� le CoInitialize(NULL) par CoInitializeEx(NULL, COINIT_MULTITHREADED) et ajout� le "#define _WIN32_DCOM" qu"indique MSDN. J'ai �galement ajout� "Ole32.lib" � la ligne de commande du linker. Ca ne compile pas plus...
    d:\visual studio 2005\projects\test\validatedomproj\validatedomproj.cpp(13) : error C2065: 'COINIT_MULTITHREADED' : undeclared identifier
    d:\visual studio 2005\projects\test\validatedomproj\validatedomproj.cpp(13) : error C3861: 'CoInitializeEx': identifier not found
    Par contre, en laissant le define, mais avec un CoInitialize(NULL), �a marche ???

    pourquoi le CoInitializeEx(NULL, COINIT_MULTITHREADED) ne compile pas ?

    Code actuel (qui compile) :
    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
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <objbase.h>
    #include <msxml6.h>
     
    #define _WIN32_DCOM 
     
    int _tmain(int argc, _TCHAR* argv[])
    {
       CoInitialize(NULL);
       //CoInitializeEx(NULL, COINIT_MULTITHREADED);
       printf("start using MSXML6\n");
     
       // Add your code here.
     
       CoUninitialize();
       return 0;
    }

  5. #5
    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
    Par d�faut
    essaie de d�finir #define _WIN32_WINNT 0x0400 avant les includes, mais ca veut dire une restriction aux windows de type NT

  6. #6
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut
    �a ne passe pas non plus, je crois que je vais rester sur le "CoInitialize(NULL)".
    En tout cas, merci pour vos r�ponses.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me de link...
    Par Royd938 dans le forum MS SQL Server
    R�ponses: 4
    Dernier message: 30/09/2004, 17h33
  2. R�ponses: 8
    Dernier message: 10/08/2004, 11h49
  3. C/asm : probl�me pour link
    Par SteelBox dans le forum Autres �diteurs
    R�ponses: 3
    Dernier message: 06/04/2004, 23h03
  4. Probl�me de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    R�ponses: 24
    Dernier message: 19/03/2004, 15h58
  5. Probl�me de link avec Borland C++ 5.5
    Par gelam dans le forum Autres �diteurs
    R�ponses: 5
    Dernier message: 24/11/2003, 16h45

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