Question

En fait, je suis en mesure de créer et compiler une bibliothèque statique dans xcode4 mais les fonctions ne sont pas en cours de lecture dans par otool. J'ai réussi à le faire une fois pour que cela fonctionnerait, mais tous les temps depuis lors, il a échoué, je sais que je dois manquer une étape évidente.

Ce que je fais actuellement est de créer une nouvelle vue application dans xcode4, je puis ajouter une nouvelle cible (Nombres), à des chiffres ajouter un fichier source appelé file.c et son contenu est:

static int Get10()
{
    return 10;
}

Alors je le compiler (en vous assurant que j'ai sélectionné les chiffres | iPhone 4.3 Simulator dans le schéma de construction chute vers le bas).

Mais quand je lance otool S sur libNumbers.a je reçois aucun résultat:

taille des structures de ranlib: 0 (numéro 0) objet index de chaîne de décalage

Je sais qu'il devrait y avoir des choses là-bas parce que si je lance otool S sur le construit correctement libNumbers.a je reçois quelques chiffres au lieu de 0s:

taille des structures de ranlib: 16 (numéro 2) objet index de chaîne de décalage 136 0 136 7

Je ne sais vraiment pas ce que je fais mal exactement, je l'ai essayé ce que je faisais un tracé rétrograde avec le lib succesful j'ai fait, mais la compilation n'ai rien vraiment trouvé pour indiquer pourquoi les fonctions compilées avec celui-là mais pas ceux-ci.

Était-ce utile?

La solution

Ne pas utiliser static si vous souhaitez utiliser l'extérieur de la fonction de l'unité de traduction, il est défini. Vous voulez une liaison externe pour la fonction plutôt que simplement en laissant la partie static (lien externe est la valeur par défaut pour les fonctions).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top