visual Xcode ne trouve pas la bibliothèque statique C++



xcode c++ project (1)

Pour que Xcode trouve la bibliothèque, vous avez au moins deux options:

  1. Définissez les chemins de recherche de la bibliothèque sous Paramètres de construction. Cela peut être compliqué parce que vous devez vous assurer que vous construisez la bibliothèque pour la bonne architecture, par exemple un simulateur ou un périphérique réel, et utilisez le chemin approprié.

  2. Créez un nouvel espace de travail, ajoutez à la fois le projet de bibliothèque et le projet d'application dans l'espace de travail. Dans Build Phases pour la cible de l'application, sélectionnez le fichier de bibliothèque statique (.a) dans la boîte de dialogue qui apparaît après avoir cliqué sur le signe + dans la section Link Binary with Libraries. Xcode va construire la bibliothèque pour la bonne architecture et lier l'application avec la bonne librairie statique.

Maintenant, construire la bibliothèque pour l'architecture correcte peut être difficile, que vous choisissiez l'option 1 ou 2 ci-dessus. Quelques choses à essayer:

  • Créez un projet de système de construction externe dans Xcode et utilisez le fichier makefile fourni avec la source de la bibliothèque. (Fichier -> Nouveau -> Projet ... -> Multi-plateforme.)
  • Créez un projet de bibliothèque statique Cocoa Touch dans Xcode. (Fichier -> Nouveau -> Projet ... -> iOS.) Vous devrez ajouter les sources de bibliothèque au projet. C'est probablement votre meilleur pari si la construction de la bibliothèque n'est pas trop complexe.

Vous avez également la possibilité d'inclure des sources de bibliothèque C ++ directement dans votre projet Swift.

Voir si ce message semble utile: Compilation de la bibliothèque C ++ externe pour une utilisation avec le projet iOS .

Donc j'ai eu quelques problèmes avec ceci avant mais j'ai supprimé ma vieille question et l'ai mise à jour à celui-ci. Ici ça va:

Je veux utiliser une bibliothèque C ++ dans mon projet iOS Swift. Avec l'aide de cette communauté, j'ai compilé ma bibliothèque sous forme de bibliothèque statique (fichier .a). Maintenant, j'ai créé un nouveau projet pour tester cela et j'ai fait seulement les étapes suivantes:

1. Créer un nouveau projet Swift

2. Sous Build Phases -> Link Binary with Libraries ajouter ma bibliothèque ( comme ça )

3. Ajoutez un nouveau fichier C ++ sans un fichier d'en-tête et ajoutez un en-tête de pontage avec le contenu suivant:

//Wrapper.cpp

extern "C" void test()
{
    //Just to test the swift - c++ connection later this file 
    //shall import the main header of the library.
}

// CAS Test-Bridging-Header.h

void test();

Mais maintenant, quand je compile, je reçois cette erreur (vous pouvez également voir ma hiérarchie de projet sur la gauche).

Merci pour votre aide à l'avance!





linker