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 :

symboles externe non résolus


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut symboles externe non résolus
    Bonjour.

    Voilà, j'ai un projet visual cpp que je dois reprendre.
    Je veux en faire une bibliothèque dynamique (.dll) afin de la coupler avec du java.

    Le soucis c'est que pour le moment, c'est une bibliothèque statique (.lib). Dans les options du projet, j'ai changé la case pour .dll et maintenant j'ai masse d'erreurs de symbole externe non résolu lorsque je compile.

    Des idées ?

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par hpavavar
    Bonjour.

    Voilà, j'ai un projet visual cpp que je dois reprendre.
    Je veux en faire une bibliothèque dynamique (.dll) afin de la coupler avec du java.

    Le soucis c'est que pour le moment, c'est une bibliothèque statique (.lib). Dans les options du projet, j'ai changé la case pour .dll et maintenant j'ai masse d'erreurs de symbole externe non résolu lorsque je compile.

    Des idées ?
    salut,
    sans un apercu des types d'erreurs non.

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    Pas de soucis
    ------ Début de la génération : Projet : libSc, Configuration : Debug Win32 ------
    Édition des liens en cours...
    CScpEcgProcessor.obj : error LNK2019: symbole externe non résolu "public: virtual bool __thiscall CStepRunner::Run(class CStep &,class CMap<class CIdentifier,class CValue *> &,class CMap<class CIdentifier,class CValue const *> const &,class CErrorReporter &,class CContext const &)" (?Run@CStepRunner@@UAE_NAAVCStep@@AAV?$CMap@VCIdentifier@@PAVCValue@@@@ABV?$CMap@VCIdentifier@@PBVCValue@@@@AAVCErrorReporter@@ABVCContext@@@Z) référencé dans la fonction "public: bool __thiscall CScpEcgProcessor::ConvertScpEcgStiAvm(class CValueScpEcg &)" (?ConvertScpEcgStiAvm@CScpEcgProcessor@@QAE_NAAVCValueScpEcg@@@Z)
    CScpEcgProcessor.obj : error LNK2019: symbole externe non résolu "public: virtual class CStep * __thiscall CStaticFactoryPemUtils::CreateStep(class CIdentifier const &,class CIdentifier const &,class CFactory const &,class CErrorReporter &,class CContext const &,class CSystem const *,bool)const " (?CreateStep@CStaticFactoryPemUtils@@UBEPAVCStep@@ABVCIdentifier@@0ABVCFactory@@AAVCErrorReporter@@ABVCContext@@PBVCSystem@@_N@Z) référencé dans la fonction "public: bool __thiscall CScpEcgProcessor::ConvertScpEcgStiAvm(class CValueScpEcg &)" (?ConvertScpEcgStiAvm@CScpEcgProcessor@@QAE_NAAVCValueScpEcg@@@Z)

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu as mis le support des MFC dans ta dll ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    En fait j'ai plusieurs options :
    • Utiliser les MFC dans une bibliothèque statique
    • Utiliser les bibliothèques Windows standard
    • Utiliser les MFC dans une DLL partagée


    C'est comme pour les ATL, j'ai
    • N'utilisant pas ATL
    • Lien dynamique vers ATL
    • Lien statique vers ATL


    Je ne sais pas à quoi ça correspond.

    Pour que ça compile, il faut que je choisisse Bibliothèque statique (.lib) comme type de configuration et n'importe quoi pour les MFC.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu n'as pas oublié #include <afxtempl.h> dans stdafx.h ?
    sinon cette fonction CStepRunner::Run fait bien partie de tes sources ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    J'ai pas de fichier stdafx.h

  8. #8
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    J'ai ajouté un sdtafx d'un autre projet :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    // stdafx.h : fichier Include pour les fichiers Include système standard,
    // ou les fichiers Include spécifiques aux projets qui sont utilisés fréquemment,
    // et sont rarement modifiés
    //
     
    #pragma once
     
    // Modifiez les définitions suivantes si vous devez cibler une plate-forme avant celles spécifiées ci-dessous.
    // Reportez-vous à MSDN pour obtenir les dernières informations sur les valeurs correspondantes pour les différentes plates-formes.
    #ifndef WINVER				// Autorise l'utilisation des fonctionnalités spécifiques à Windows XP ou version ultérieure.
    #define WINVER 0x0501		// Attribuez la valeur appropriée à cet élément pour cibler d'autres versions de Windows.
    #endif
     
    #ifndef _WIN32_WINNT		// Autorise l'utilisation des fonctionnalités spécifiques à Windows XP ou version ultérieure.                   
    #define _WIN32_WINNT 0x0501	// Attribuez la valeur appropriée à cet élément pour cibler d'autres versions de Windows.
    #endif						
     
    #ifndef _WIN32_WINDOWS		// Autorise l'utilisation des fonctionnalités spécifiques à Windows 98 ou version ultérieure.
    #define _WIN32_WINDOWS 0x0410 // Attribuez la valeur appropriée à cet élément pour cibler Windows Me ou version ultérieure.
    #endif
     
    #ifndef _WIN32_IE			// Autorise l'utilisation des fonctionnalités spécifiques à Internet Explorer 6.0 ou version ultérieure.
    #define _WIN32_IE 0x0600	// Attribuez la valeur appropriée à cet élément pour cibler d'autres versions d'Internet Explorer.
    #endif
     
    #define WIN32_LEAN_AND_MEAN		// Exclure les en-têtes Windows rarement utilisés
    #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// certains constructeurs CString seront explicites
     
    #ifndef VC_EXTRALEAN
    #define VC_EXTRALEAN		// Exclure les en-têtes Windows rarement utilisés
    #endif
     
    #include <afx.h>
    #include <afxwin.h>         // composants MFC principaux et standard
    #include <afxext.h>         // extensions MFC
    #ifndef _AFX_NO_OLE_SUPPORT
    #include <afxdtctl.h>		// Prise en charge MFC pour les contrôles communs Internet Explorer 4
    #endif
    #ifndef _AFX_NO_AFXCMN_SUPPORT
    #include <afxcmn.h>			// Prise en charge des MFC pour les contrôles communs Windows
    #endif // _AFX_NO_AFXCMN_SUPPORT
     
    #include <iostream>
    // Fichiers d'en-tête Windows :
    #include <windows.h>
     
    // TODO : faites référence ici aux en-têtes supplémentaires nécessaires au programme
    Et ça change rien :/

    Et voici un bout de CStepRunner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class CStepRunner
    {
    public :
     
    	...
     
    	virtual bool Run(CStep& stepToRun, CStepRunner::COutputValueMap& theOutputMap ,const CStepRunner::CInputValueMap& theInputMap, CErrorReporter& theErrorReporter, const CContext& ctx);

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    si tu utilises des CMap il faut #include <afxtempl.h> et dans ton stdafx.h il n'y est pas ...

  10. #10
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    Même en ajoutant #include <afxtempl.h> au fichier stdafx.h j'ai les mêmes problèmes

  11. #11
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    mais est ce que le source contenant l'implémentation de la méthode run fait partie du projet ?

  12. #12
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    Ca fait pas vraiment partie du projet, mais le chemin vers le fichier est dans "d'autres répertoires d'include" dans les propriétés de compilation. C'est grave docteur?

  13. #13
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    le .h c'est une chose mais si le source concernant ce code n'est pas inclut dans le projet tu auras une erreur au link....

  14. #14
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Par défaut
    J'ai rajouté les mêmes répertoires que pour l'include dans "Repertoires bibliothèques supplémentaires" de l'éditeur de lien. J'ai moins de warnings, mais toujours les mêmes erreurs de symboles :/
    Pourtant ces dossiers contiennent les .h et .c ensembles.

    Ya til un autre endroit où ajouter ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/07/2007, 09h03
  2. pb : symbole externe non résolu
    Par sheepman dans le forum Windows
    Réponses: 2
    Dernier message: 12/04/2007, 10h38
  3. Réponses: 3
    Dernier message: 06/08/2006, 18h17
  4. LNK2019: symbole externe non résolu __ftol2_sse
    Par ellipse dans le forum MFC
    Réponses: 1
    Dernier message: 26/04/2006, 23h48
  5. LNK2019 symbole externe non résolu
    Par devmat dans le forum MFC
    Réponses: 3
    Dernier message: 04/01/2006, 00h14

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