Compiler des programmes C en utilisant libssl sur OS X El Capitan?
J'ai un simple programme en C à l'aide de libssl.
Sur Linux, j'ai installé openssl-dev paquet et compilé le programme avec la ligne suivante:
gcc test_libssl.c -o test_libssl -lcrypto -lssl
Maintenant je voudrais faire la même chose sur mon Mac. La même ligne résume à:
fatal error: 'openssl/conf.h' file not found
J'ai essayé d'installer openssl (openssl-dev n'ont pas de travail) avec home-brew via brew install openssl
Cela m'a donné:
...
==> Installer openssl
==> Télécharger le https://www.openssl.org/source/openssl-1.0.2a.tar.gz
curl: (22) L'URL demandée a renvoyé l'erreur: 404 not Found
J'ai trouvé un SI la question avec pas de réponse.
J'ai aussi essayé
brew info openssl
et ont été informés que
Cette formule est de tonneau.
Mac OS X offre déjà ce logiciel et l'installation d'une autre version
en parallèle peut causer toutes sortes de problèmes.Apple a retiré de l'utilisation d'OpenSSL en faveur de ses propres TLS et des bibliothèques de chiffrement
Que dois-je faire /installer afin d'être en mesure de compiler libssl-à l'aide de programmes C programmes sur OS X?
Ou, est-ce une mauvaise idée de la première place (compte tenu de l'avertissement ci-dessus)?
Mise à JOUR:
J'ai eu la openssl installé à l'aide de l'infusion. Je ne suis pas sûr que ce soit le problème, mais j'ai mis à jour l'infusion.
La prise du mélange conseils
Vous devriez probablement modifier le propriétaire et les permissions de /usr/local
de retour à votre compte d'utilisateur.
sudo chown -R $(whoami):admin /usr/local
et cette en compte.
Puis, à la suite de @Alex Reynolds conseils, j'ai compilé avec succès avec
gcc test_libssl.c -o test_libssl -lssl -lcrypto -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include
source d'informationauteur stackoverflowwww
Vous devez vous connecter pour publier un commentaire.
J'ai Homebrew installé sur El Capitan (10.11.1) et que vous avez installé une version à jour d'OpenSSL ne semble pas avoir de mauvais effets:
Avez-vous essayé d'ajouter les drapeaux qu'il suggère pour votre application de génération d'instruction? Vous pouvez modifier votre application
makefile
ou autres construire la déclaration et ajouter ces entrées, après unbrew install openssl
. Cela peut aider votre compilateur de trouver et de lier la bibliothèque et les fichiers d'en-tête dont il a besoin.Dirait que tout est là. Ici sont les en-têtes:
Et statique et dynamique des bibliothèques:
La réponse de @Alex Reynolds est correct, mais si vous voulez compiler/configurer un autre programme, puis vous pouvez exécuter cette avance: