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++ Discussion :

DLL VS2010 warning C4273


Sujet :

C++

  1. #1
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de caf�
    Inscrit en
    Mai 2007
    Messages
    1 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Consommateur de caf�
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par d�faut DLL VS2010 warning C4273
    Bonjour,

    Je suis en face d'un probl�me qui n'apparait que dans le mode release et non pas le mode debug sous visual studio 2010.
    J'ai cr�er une dll (projet win32,dll, projet vide et n'exporte pas les symboles)

    J'ai deux fichiers tout simple :
    le .h
    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
    20
    21
    22
    23
    24
     
    #ifndef ARME_H
    #define ARME_H
     
    #ifdef  ARME_EXPORTS // Compilation
    #define ARME_API  __declspec(dllexport)  //Exporte les symboles
    #else //Utilisation
    #define ARME_API  __declspec(dllimport) //Importe les symboles
    #endif
     
     
     
    struct Arme
    {
        virtual void tirer() = 0;
        virtual ~Arme() throw() {}
    };
     
    extern "C"
    {
        ARME_API Arme * CreerArme();
    }
     
    #endif // ARME_H
    et .cpp

    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
    20
    #include "Arme.h"
    #include <iostream>
     
    using std::cout;
     
    struct ArmeDefaut : Arme
    {
        void tirer() { cout << "BANG!" ; }
    };
     
    struct ArmeCool : Arme
    {
        void tirer() { cout << "KABOUM!" ; }
    };
     
     
    Arme * CreerArme()
    {
        return new ArmeCool;
    }
    Lors de compilation en mode debug, je n'ai aucun avertissement. En release par conter j'ai l'avertissement C4273. J'ai bien entendu regarder sur le msdn et forum mais je ne vois pas de correspondance avec mon code...

    C4273
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    // C4273.cpp 
    // compile with: /W1 
     
    char __declspec(dllimport) c; 
    char c;   // C4273, delete this line or the line above to resolve  
     
    int main() { }
    Si l'un d'entre vous aurait une id�e du pourquoi...
    Merci


    EDIT: je pr�cise que je suis sous Visual Studio 2010

  2. #2
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de caf�
    Inscrit en
    Mai 2007
    Messages
    1 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Consommateur de caf�
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par d�faut
    Et une boulette! une!

    Mon erreur �tait simplement un copie coller...
    le code � modifier:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    #ifdef  TESTDLL_EXPORTS // Compilation
    #define ARME_API  __declspec(dllexport)  //Exporte les symboles
    #else //Utilisation
    #define ARME_API  __declspec(dllimport) //Importe les symboles
    #endif
    TESTDLL_EXPORTS �tant la d�finition du pr�processeur en fonction du nom du projet...

    Merci quand m�me

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

Discussions similaires

  1. VS2010 - Warning C4661
    Par Kalite dans le forum C++
    R�ponses: 8
    Dernier message: 04/04/2012, 13h20
  2. VS2010 : DLL commune sans copie local.
    Par Sankasssss dans le forum Windows Forms
    R�ponses: 0
    Dernier message: 30/10/2011, 19h57
  3. DLL cr�� avec VS2010 dans Office2003
    Par lolo406 dans le forum G�n�ral Dotnet
    R�ponses: 3
    Dernier message: 12/10/2010, 14h51
  4. System.Data.SqlServerCe.dll manquant sur VS2010?
    Par raphchar dans le forum Acc�s aux donn�es
    R�ponses: 1
    Dernier message: 01/08/2010, 00h04
  5. R�ponses: 18
    Dernier message: 16/03/2010, 21h51

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