Forum Programmation.c++ librairie synamique compilé en C linké en c++

Posté par  .
Étiquettes : aucune
0
27
juin
2007
Bonjour,

J'ai du code qui compile en C (et pas en C++) j'en ai fait une librairie dynamique (avec fPIC pour la generation des .o et -shared pour la generation du .so).
Je veux intergrer ce .so dans un programme C++.

Mais cela marche pas j'ai des "Undefined reference to xxxx"
Ou xxxx sont des fonctions de mon .so

La où je comprends pas c'est que pour test j'ai generé deux .so de deux facon différentes. Une méthodes fonctionne , l'autre non.

cp test.c test-cpp.cpp
gcc -fPIC -c test-cpp.cpp
g++ -shared -o test-cpp.so test-cpp.o

=> je peux linker sans problème avec ce test-cpp.so

gcc -fPIC test.c -c
gcc -shared -o test.so test.o

=> impossible de linker avec test.so alors que le code embarqué est exactement le même!

J'ai louppé une option quelques part ?
  • # Décoration des fonctions.

    Posté par  . Évalué à 4.

    Ton C++ cherches probablement des noms de fonctions décorés.

    Essaie de mettre ton header de lib à l'intérieur de

    extern "C"
    {
    #include "malib.h"
    }
    • [^] # Re: Décoration des fonctions.

      Posté par  . Évalué à 1.

      Honte sur moi.....

      Tu a tout a fait raison.

      Je le savais mais ca fait longtemps que je l'avais pratiquer..... je devloppe pas assez ;-(

      Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.