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

C++/CLI Discussion :

Options de compilation visual c++


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 18
    Points
    18
    Par défaut Options de compilation visual c++
    Bonjour,
    Je doit créer un projet avec une interface graphique.
    Après avoir essayé d'insérer une classe d'un autre projet dans le mien j'ai l'erreur:
    convention d'appel '__stdcall ' non valide pour la fonction compilée avec /clr:pure ou /clr:safe
    J'ai essayé de changer les options dans options du projets -> editeur de lien -> avancé et j'ai passé le type d'image CLR de "par défaut" à "IJW" mais la même erreur revient.

    J'ai ensuite simplement essayé d'inclure une fonction dans mon projet (waveoutopen) et j'ai l'erreur :
    IPPlayWave.obj : error LNK2028: jeton non résolu (0A00000C) "extern "C" unsigned int __stdcall waveOutOpen (... pas mal d'@ ensuite)
    Je pense que c'est toujours lié au type de compilation du projet.
    Quelqu'un peut-il me renseigner ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Bon, on va faire synthétique et pas tout expliquer par le menu, car les lacunes sont trop importantes.

    L'erreur de compilation pour commencer :
    convention d'appel '__stdcall ' non valide pour la fonction compilée avec /clr:pure ou /clr:safe
    J'ai essayé de changer les options dans options du projets -> editeur de lien -> avancé et j'ai passé le type d'image CLR de "par défaut" à "IJW" mais la même erreur revient.
    Bin, déjà, une erreur de compilation ne se règle pas en changeant des options du linker, et encore moins avec l'une des plus exotiques.

    Pre-processing->Compilation->Edition de lien

    Le compilateur ne veut pas de la convention __stdcall, et je pense que vous pouvez lui faire plaisir en l'enlevant de la déclaration de votre classe ou de méthodes de cette classe.
    Le '__stdcall' est peut-être caché derrière une macro comme WINAPI ou autre.
    Si vous avez un doute, utilisez l'option /P du pré-processeur pour avoir le résultat du pré-processing et donc les __stdcall après expansion en ligne des MACROs.
    http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx

    Pour l'erreur d'édition de lien,

    MSDN de la fonction waveOutOpen :
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    Vous avez peut-être compris la ligne suivante pour ne pas avoir d'erreur de compilation :
    Header: Declared in Mmsystem.h; include Windows.h.
    Mais j'en doute, vous avez dû inclure "Windows.h" machinalement, ou un quelconque Wizard l'a fait pour vous.

    Mais il reste la ligne suivante dans MSDN :
    Library: Use Winmm.lib
    Bin oui, il faut indiquer au linker qu'il doit utiliser la lib Winmm.lib.

    En Bref, du C élémentaire et pas C++/CLI pour un sous.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 25/02/2011, 14h14
  2. Option de compilation gcc : sem.h
    Par Luther13 dans le forum Linux
    Réponses: 8
    Dernier message: 29/12/2004, 12h29
  3. [Compilateur]Option de compil
    Par Guybrush dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/09/2004, 11h22
  4. Réponses: 2
    Dernier message: 15/05/2004, 18h33
  5. Réponses: 2
    Dernier message: 27/02/2004, 13h47

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