La liaison C++ à C de GCC

J'ai une fonction extern "C" int ping(void) en C++ statique-bibliothèque" du projet. Maintenant, je voudrais écrire un simple Hello World C programme qui va appeler cette fonction int x = ping();.

- Je utiliser g++ /gcc mais je ne peut pas lier le C exécutable avec C++ bibliothèque partagée. S'il vous plaît, comment peut-on le faire? Pourriez-vous fournir exacte gcc commandes?

Modifier:

g++ -c -static liba.cpp
ar rcs liba.a liba.o
gcc -o x main.o -L. -la

et obtenez:

./liba.a(liba.o):(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

collect2: ld a retourné 1 code de sortie

-l<library> ne fonctionne pas?
Quel est le nom de la bibliothèque statique fichier? est-il de la forme "lib<nom>.un"? si c'est vous devriez être en mesure d'utiliser les drapeaux de compilation "-L<chemin d'accès à la bibliothèque> -l<nom>"
J'obtiens: ./liba.un(liba.o):(.eh_frame+0x12): undefined reference to `__gxx_la personnalité_v0' collect2: ld a retourné 1 code de sortie

OriginalL'auteur Cartesius00 | 2011-09-02