Comment compiler partagé lib avec clang sur osx

fichier source

rsetti::fastidio { /tmp }-> cat foo.c

    #include <stdio.h>
    void ACFunction() {
      printf("ACFunction()\n");
      AGoFunction();
    }

compilation de partagé lib

rsetti::fastidio { /tmp }-> clang -shared -o libfoo.so foo.c

    foo.c:4:3: warning: implicit declaration of function 'AGoFunction' is invalid in C99 [-Wimplicit-function-declaration]
      AGoFunction();
      ^
    1 warning generated.
    Undefined symbols for architecture x86_64:
      "_AGoFunction", referenced from:
          _ACFunction in foo-lFDQ4g.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

rsetti::fastidio { /tmp }->

le même code sur linux + gcc peut être facilement compilé.

double possible de Quel est le problème avec les symboles non définis dans une bibliothèque partagée ou dylib?
Où est le code ou l'objet pour AGoFunction?

OriginalL'auteur giskard | 2014-02-20