L'installation de Bibliothèques C++ sur OS X
Je suis en train d'essayer d'obtenir ma tête autour de quelques concepts de base, mais je n'arrive pas à les comprendre.
Je suis vraiment confus sur ce qu'il signifie pour l'installer (je pense qu'ils sont appelés bibliothèques) pour le C++. Je suis en train d'installer OpenCV, mais je ne sais pas ce qu'il faut faire pour être installé, comment vérifier, ou de ce qui est vraiment OpenCV est (Est-ce une bibliothèque, un cadre, autre chose?).
Ma compréhension est que OpenCV (et d'autres librairies/frameworks) est distribué en tant que seul le code source qui est capable de travailler de croix-plateforme. Puis, après l'avoir téléchargé, vous devez le construire (je ne sais pas ce que signifie construire tout de même), et ensuite le lien de votre compilateur contre elle afin qu'elle puisse accéder aux fichiers? Je ne sais pas comment tout cela allait être fait, ou vraiment ce que cela signifie. Je pense que beaucoup de ce qui est fait par CMake, mais je ne sais pas ce que CMake n'a vraiment, comment vous pouvez l'utiliser, ou la façon dont vous utiliser la bibliothèque et le cadre dans votre code. Aussi, où les bibliothèques comme OpenCV être installé, comment clang (ou tout autre compilateur/linker) savoir où les trouver, et quels types de fichiers seraient-ils (.un, .dylib, .rpc .php, fichiers exécutables, ou une collection de tout)? Est-ce la structure spécifique de C++ et OS X ou est-il plus répandu?
Je ne suis pas à la recherche d'un tutoriel sur comment installer OpenCV ou d'autres bibliothèques, mais je suis plutôt d'essayer d'apprendre comment cela fonctionne réellement je n'aurai pas besoin de tutoriels dans l'avenir.
- Il y a beaucoup à votre question: vous avez à apprendre sur la façon de compiler et lier de code C++, comment utiliser les bibliothèques de tiers avec le C++, et de quoi construire des outils comme
cmake
sont. Les concepts généraux s'appliquent à C++, indépendamment de l'application ou la plate-forme. À l'aide d'un IDE comme XCode ou Eclipse-CDT ou Visual Studio masques de beaucoup de bas niveau de détails (vous pouvez configurer certains paramètres dans une interface graphique et les outils de faire le reste), mais votre question est à la fois très vaste et aussi difficile de répondre sans connaître votre niveau de C++ maîtrise de la langue. - Je voudrais vous suggérer de commencer par écrire un simple "hello world" l'application dans la langue que vous souhaitez utiliser OpenCV avec et la plate-forme que vous envisagez d'utiliser. Prochaine lecture sur les détails de comment cela a fonctionné. La principale chose que vous devez savoir pour éclaircir le mystère est présent; les programmes sont compilés dans des pièces individuelles. Les éléments individuels sont combinés en une application par le processus de "liaison". En utilisant des choses comme OpenCV exige que vous liez ensemble de votre programme de pièces avec des pièces faites par d'autres (comme OpenCV).
- Merci pour la réponse rapide. J'ai utilisé 3ème partie les bibliothèques avec succès avec C++ dans le passé, mais je ne savais pas ce qui se passait "sous le capot", parce que des choses comme pkg-config ont fait le sale boulot pour moi. Je n'ai jamais utilisé un IDE C++, car ils semblent plus confus pour moi comme un débutant qu'à l'aide d'un éditeur de texte et d'apprendre ce que l'IDE est en train de faire. Mon plus gros problème a été de toutes les ressources que j'ai trouvées ne pas discuter de ce qui se passe sur les bas-niveau, et comme un résultat, je ne sais pas comment développez simple hello world programmes de plus grande et de plus en plus de choses utiles.
- Ceci ne va pas vous aider à comprendre, mais si vous pouvez suivre un tutoriel, il sera sans doute (peut-être) vous lever et courir avec OpenCV & Mac
- J'ai regardé les tutoriels dans le passé, mais sans savoir ce qui se passe en dessous, je ne suis pas sûr de savoir comment beaucoup de qui permettra.
Vous devez vous connecter pour publier un commentaire.
Avant de faire une quelconque développement C/C++ sur un Mac, vous avez besoin d'aller à l'App Store et télécharger
Xcode
pour gratuit - c'est Apple IDE - Environnement de Développement Intégré. SansXcode
, vous n'aurez pas de compilateur (c'est à direclang
ougcc
oug++
) et pas de construire des outils, (c'est à diremake
).Installer Xcode
Si vous êtes totalement nouveau pour Mac,
App Store
ressemble à ceci:et
Xcode
ressemble à ceci:Installer Les Outils De Ligne De Commande
Ensuite, vous devez installer Xcode est outils en ligne de commande, afin de lancer un Terminal en appuyant sur ⌘+ESPACE et commencer à taper
Terminal
et quand il devine correctement, appuyez sur Entrée. Copiez et collez la commande suivante dans le Terminal et appuyez sur Entrée.Le ci-dessus est appelé un "Recherche Spotlight" et est la meilleure façon de trouver quoi que ce soit sur un Mac.
Installer homebrew
Alors, si vous souhaitez installer
OpenCV
sur un Mac, installer un gestionnaire de paquets commehomebrew
qui est une question de copier et coller une seule ligne de la homebrew site web dans votre Terminal. Je ne montrerai pas la ligne ici, dans le cas où il ne change jamais et que quelqu'un regarde ce que dans quelques années, mais il est facile de voir si vous allez sur le lien ci-dessus.Trouver Les Paquets
Alors que vous pouvez trouver tous les paquets que vous voulez avec:
ou
Installer OpenCV
Ainsi, pour un à la vanille (pas d'option particulière) de l'installation et la construction de
OpenCV
ce faire:Supprimer Les Paquets
Vous pouvez par la suite supprimer tous les paquets que vous ne voulez plus avec:
Packages De Mise À Jour
Vous pouvez également mettre à jour tous les paquets installés avec:
Construire un Projet
Une fois que vous avez installé, vous pouvez lancer la compilation et la construction de votre propre projet. Il aide si vous utilisez le
pkg-config
paquet de ramasser tout le nécessaire compilateur/linker settings vous avez besoin, je vous suggère:Vous pouvez maintenant compiler et lier avec un très simple commande comme:
Puis vous pouvez continuer à utiliser
Xcode
IDE plus tard si vous le souhaitez une fois que vous obtenez commencé.Construire avec Xcode
Une fois que vous avez commencé avec de compilation de base, vous pouvez commencer à utiliser des
Xcode
pour modifier vos programmes, pour ce faire, vous devez direXcode
où les fichiers d'en-tête sont et aussi où les bibliothèques sont et qui bibliothèques de lien. Cela varie en fonction de votre version d'OpenCV, mais vous aurez besoin de modifier les lieux marqués dans les deux schémas ci-dessous. Vous les trouverez facilement si vous cliquez sur eux dans l'ordre - espace vert en premier, puis le jaune, puis bleu, puis le rouge.L'information réelle qui aura besoin d'aller dans Xcode paramètres de domaines que j'ai marqué ci-dessus peuvent être trouvés en exécutant le même
pkg-config
commande je l'ai suggéré dans la section précédente. Afin de fonctionner:pour obtenir l'emplacement de l'en-tête (inclure) des fichiers, puis exécutez
pour obtenir les informations dont vous avez besoin à remplir pour l'éditeur de liens dans
Xcode
.pkg-config ... opencv
vais vous dire les indicateurs/paramètres pour la construction de laopencv
paquet. Si vous voulez construire un paquet différent, commeffmpeg
vous aurez besoin de trouver le paquet (probablement en utilisantpkg-config --list-all
) et puis, quand vous trouvez le nom du paquet que vous voulez (par exempleffmpeg
), vous pouvez ensuite utiliserpkg-config --cflags --libs ffmpeg
ou similaire.-bash: pkg-config: command not found
.pkg-config
, je vais mettre à jour la réponse en une minute, mais il suffit de nebrew install pkg-config
je vous Remercie pour cela.