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 :

Erreur de compilation


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Points : 11
    Points
    11
    Par défaut Erreur de compilation
    Bonjour,

    je dois travailler sur une vieille DLL développée en C++ tout en ayant peu de connaissance.

    J'ai installé Microsoft Visual Studio 6.0 sur mon pc sous Windows 10. Après recherche sur internet, j'ai trouvé le paramétrage adéquate pour installer cette version sous Windows 10.
    La plateforme fonctionne et je récupère les sources de ma DLL.
    En tout premier, je testes le build pour vérifier que ça fonctionne, mais malheureusement j'ai des erreurs.
    Je penses que cela vient sûrement d'un problème de paramétrage de mon projet et, après plusieurs recherches sur le net, je ne trouve pas de solutions.
    Voici l'erreur :


    --------------------Configuration: GQLCNX - Win32 Debug--------------------
    Linking...
    Creating library D:/TEMP/GQLCNX.lib and object D:/TEMP/GQLCNX.exp
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    D:/TEMP/GQLCNX.dll : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    GQLCNX.dll - 2 error(s), 0 warning(s)
    Merci pour votre aide.
    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je pense que c'est ta config de C Run-Time Library qui n'est pas bonne; de mémoire, pour un projet DLL il faut choisir "multi-threaded DLL" (ou "multi-threaded debug DLL" quand tu es en config Debug).
    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.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    j'ai appliqué ce changement à mon projet et je garde toujours l'anomalie.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    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 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Le rapport avec VB6 ?

    Je penses que cela vient sûrement d'un problème de paramétrage de mon projet
    Moi aussi.
    Pouvez-vous poster les images de différents formulaires de configuration des propriétés du projet ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Points : 11
    Points
    11
    Par défaut
    Je viens de me relire et il s'agit bien de Visual Studio 6 et non Visual Basic comme je l'ai indiqué dans mon premier message.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    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 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Visual Studio 6
    Vous faites dans la nécromancie de fossile !!!

    Pouvez-vous poster les images de différents formulaires de configuration des propriétés du projet ? (BIS)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Points : 11
    Points
    11
    Par défaut
    Effectivement, nous sommes obligés de maintenir de vieux composants car d'une part, ils sont encore très utilisés et d'autre part il n'y jamais eu le temps et le budget pour les refondre....
    En plus, plus personne dans ma boîte ne connais cette techno...

    en pièce jointe, les différentes copies d'écran du projet.

    Merci
    Fichiers attachés Fichiers attachés

  8. #8
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Ça faisait bien longtemps que je n'avais pas vu du VS6, c'est presque de l'archéologie.

    A mon avis, si c'est du C, il ne faut pas sélectionner le type de projet C++, sinon il va exporter les noms de fonction avec des extensions ("décorations"). Il doit y avoir une option "C", ou sinon il faut ajouter un "extern C".

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    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 073
    Points : 12 119
    Points
    12 119
    Par défaut
    @10_GOTO_10, le message d'erreur indique une décoration de la fonction "main" avec une décoration C, pas C++.

    plus personne dans ma boîte ne connais cette techno...
    Quelle "techno", SVP ?

    On n'a difficilement accès à ce genre d'antiquité qu'est VS6, on pourra pas trop vous aider efficacement.

    Sur un projet qui ne contient qu'un seul fichier '.c", console, et qui n'utilise pas d'outils en pré-build ou en post-build, mou, je pense que la "migration" du code vers un VS plus moderne devrait être assez simple.
    C'est aussi fonction de la qualité du code dans ce fichier.
    Mais moi, j'hésiterai pas à tenter une "migration sauvage".

    Le contenu des copies d'écran ne me semble indiquer aucun options spécifiques à la création d'une DLL (définition de MACRO spécifiques à la Dll, ...) mais peut-être que cela n'existait pas encore à cette époque (mes souvenir d'il a près de 25 ans, c'est un peu dans le brouillard).
    Le message d'erreur serait le même si vous créez un exécutable et que vous n'aviez pas de fonction "main" dans votre code.

    Pouvez-vous créer un projet vide pour une application console et un projet vide pour une Dll, comparer les propriétés de chacun de ces projets "vide" et de voir les différences.
    Sachant ces différences, pouvez-vous les contrôler sur votre projet "GQLCNX" ?

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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