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 :

C++ 64bit et delphi7


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut C++ 64bit et delphi7
    Bonjour,

    Pensez-vous qu'il soit possible d'importer des méthodes d'une dll delphi7 dans un exe cpp compilé en 64bits?

    Pour le moment j'ai réalisé un essai mais sans succès

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Fichier dllDelphi.h
     
     extern "C" int  __declspec(dllexport) __cdecl DllCamFichier_Exit();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Fichier TestCpp64CallDelphi7.cpp
     
    #include "pch.h"
    #include <iostream>
    #include "dlldelphi.h"
     
    int main()
    {
      DllCamFichier_Exit();
        std::cout << "Hello World!\n"; 
    }
    En compile x86 je compile correcte et j'exécute le code.
    En compile x64 j'obtiens :

    warning LNK4272: type d'ordinateur bibliothèque 'x86' en conflit avec le type d'ordinateur cible 'x64'
    1>TestCpp64inDelphi7.obj : error LNK2019: symbole externe non résolu DllCamFichier_Exit référencé dans la fonction main

    Merci
    Bonne journée

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut, et bienvenue sur le forum

    Le message obtenu par l'éditeur de liens est -- malheureusement -- sans appel : la bibliothèque à laquelle tu essaie de lier ton application est prévue pour fonctionne ... en mode 32 bits

    Le problème est donc que les pointeurs (entre autres, ceux qui fournissent les adresses mémoire auxquelles commencent les différentes fonctions de la bibliothèques, pour ne citer qu'eux) sont ... incompatibles avec le mode 64 bits.

    Dis toi que, de manière générale, il est totalement impossible d'utiliser une bibliothèque 32 bits avec une application 64 bits (ou vice versa, d'ailleurs)

    Comme cela fait littéralement des lustres que je n'ai plus chipoté avec delphi (es-tu sur que la version 7 soit la dernière disponible ) je vais devoir me contenter de généralités. Car, en gros, tu as deux solutions :
    • Soit tu compile ton application en 32 bits (de toutes manières, peu d'applications tirent réellement profit du fonctionnement 64 bits), et tu pourras utiliser ta bibliothèque sans problème
    • Soit tu t'arrange pour compiler ta bibliothèque delphi en mode 64 bits (pour autant que ce soit possible)

    D'après les (très) rapides recherches que j'ai faites, il est possible de générer des bibliothèques delphi en 64 bits (mais cela reste à confirmer, bien sur )

    La deuxième solution pourrait donc être envisagée de manière très sérieuse pour autant que tu dispose du code source de la bibliothèque que tu souhaites utiliser

    Par contre, je ne peux absolument pas te promettre qu'il n'y aura aucune adaptation du code de la bibliothèque à effectuer... Ce sera à toi de voir "à l'usage"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour la réponse, en effet non cette lib n'est pas toute jeune , elle date de 2002 (delphi 7)... donc à l'époque pas de compile 64...
    Merci pour les informations

    Je considère le sujet résolu

    Bonne journée

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 058
    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 058
    Points : 12 093
    Points
    12 093
    Par défaut
    Y a toujours moyen de passer par COM, non ?
    https://blog.mattmags.com/2007/06/30...m-64-bit-code/

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

Discussions similaires

  1. [CR8.5][Delphi7] Choix de l'imprimante
    Par Petit vinou dans le forum SDK
    Réponses: 8
    Dernier message: 06/11/2003, 10h38
  2. Delphi7 winxp pro renvoyer un TLabel connu par nom
    Par regis1_1 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/06/2003, 12h09
  3. Réponses: 5
    Dernier message: 24/04/2003, 23h08
  4. [RAVE][DELPHI7] Comment faire un graphique ?
    Par DFANDOR dans le forum Rave
    Réponses: 7
    Dernier message: 06/02/2003, 21h25
  5. [Delphi7] Migration Delphi 6
    Par Lux interior dans le forum QuickReport
    Réponses: 2
    Dernier message: 06/12/2002, 13h05

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