web-dev-qa-db-fra.com

Installation de bibliothèques C ++ sur OS X

J'essaie de comprendre certains concepts de base, mais je n'arrive pas à les comprendre.

Je suis vraiment confus sur ce que cela signifie d'installer (je pense qu'ils s'appellent des bibliothèques) pour C++. J'essaie d'installer OpenCV, mais je ne sais pas ce qu'il faut faire pour qu'il soit installé, comment vérifier ou ce qu'est réellement OpenCV (s'agit-il d'une bibliothèque, d'un framework, de quelque chose d'autre?).

D'après ce que je comprends, OpenCV (et d'autres bibliothèques/frameworks) est distribué uniquement sous forme de code source, ce qui lui permet de fonctionner sur plusieurs plates-formes. Ensuite, après l'avoir téléchargé, vous devez le construire (je ne sais pas ce que signifie construire), puis lier votre compilateur afin qu'il puisse accéder aux fichiers? Je ne sais pas comment cela se ferait, ni vraiment ce que cela signifie. Je pense que beaucoup de choses sont faites par CMake, mais je ne sais pas ce que fait réellement CMake, comment vous l'utiliseriez, ou comment vous utiliseriez ensuite la bibliothèque/framework dans votre code. En outre, où les bibliothèques comme OpenCV seraient-elles installées, comment clang (ou tout autre compilateur/éditeur de liens) saurait-il où les trouver et quel type de fichiers seraient-ils (.a, .dylib, .cpp, .hpp, exécutables , ou une collection de tout)? Cette structure est-elle spécifique à C++ et OS X ou est-elle plus répandue?

Je ne cherche pas de tutoriel sur la façon d'installer OpenCV ou d'autres bibliothèques, mais j'essaie plutôt d'apprendre comment cela fonctionne réellement afin de ne plus avoir besoin de tutoriels à l'avenir.

31
Giesbrecht

Avant de pouvoir effectuer tout travail de développement C/C++ sur un Mac, vous devez vous rendre sur l’App Store et télécharger Xcode gratuitement - c’est la IDE de Apple _ - Environnement de développement intégré . Sans Xcode, vous ne disposerez d'aucun compilateur (c'est-à-dire clang ou gcc ou g++) Ni d'outils de construction ((c'est-à-dire make) .

Installer Xcode

Si vous êtes totalement nouveau sur Mac, App Store Ressemble à ceci:

enter image description here

et Xcode ressemble à ceci:

enter image description here

Installer les outils de ligne de commande

Ensuite, vous devez installer les outils de ligne de commande de Xcode. Démarrez donc un terminal - en appuyant sur +SPACE et commence à taper Terminal et quand il devine correctement, appuyez simplement sur Enter/Return. Copiez et collez le texte suivant dans Terminal et appuyez sur Enter/Return.

xcode-select --install

Ce qui précède s'appelle un "Spotlight Search" et constitue le moyen le plus simple de rechercher des informations sur un Mac.

Installer homebrew

Ensuite, si vous souhaitez installer OpenCV sur un Mac, installez un gestionnaire de paquets tel que homebrew qui consiste à copier et coller une seule ligne du site Web homebrew dans votre terminal. Je ne montrerai pas la ligne ici, au cas où cela changerait et que quelqu'un la regarde dans quelques années, mais il est facile de voir si vous allez au lien ci-dessus.

Trouver les paquets

Ensuite, vous pouvez trouver tous les paquets que vous voulez avec:

brew search opencv    # Look for packages called "opencv"

ou

brew search boost     # Look for "boost" libraries

Installer OpenCV

Donc, pour une installation Vanilla (sans options spéciales) et la construction de OpenCV, procédez comme suit:

brew install opencv

Supprimer les paquets

Vous pouvez ultérieurement supprimer tous les paquets dont vous ne voulez plus avec:

brew rm opencv

Paquets de mise à jour

Vous pouvez également mettre à jour tous les packages installés avec:

brew update && brew upgrade && brew cleanup

Construire un projet

Une fois que vous l'avez installé, vous pouvez commencer à compiler et à construire votre propre projet. Si vous utilisez le package pkg-config Pour collecter tous les paramètres nécessaires du compilateur/éditeur de liens dont vous avez besoin, cela vous aidera: je vous suggère donc:

brew install pkg-config

Maintenant, vous pouvez compiler et lier avec une commande très simple comme:

g++ $(pkg-config --cflags --libs opencv) process.cpp -o process

Vous pouvez ensuite utiliser Xcode IDE plus tard si vous le souhaitez une fois que vous avez commencé.

Construire avec Xcode

Une fois que vous avez commencé avec la compilation de base, vous pouvez commencer à utiliser Xcode pour éditer vos programmes. Pour ce faire, vous devez indiquer Xcode où se trouvent les fichiers d’en-tête et les bibliothèques. et quelles bibliothèques lier. Cela varie en fonction de votre version d'OpenCV, mais vous devrez modifier les emplacements marqués dans les deux diagrammes ci-dessous. Vous les trouverez facilement si vous cliquez dessus dans l'ordre - la zone verte en premier, puis le jaune, puis le bleu, puis le rouge.

enter image description here

enter image description here

Les informations effectives devant figurer dans les zones de paramètres Xcode que j'ai indiquées ci-dessus peuvent être trouvées en exécutant la même commande pkg-config Que j'ai suggérée dans la section précédente. Alors courez:

pkg-config --cflags opencv

pour obtenir l'emplacement des fichiers d'en-tête (include), puis exécutez

pkg-config --libs opencv

pour obtenir les informations à renseigner pour l’éditeur de liens dans Xcode.

64
Mark Setchell