web-dev-qa-db-fra.com

openssl/ssl.h non trouvé mais installé avec homebrew

Je travaille sur un projet C++ sur mon Mac exécutant El Capitan et j'obtiens cette erreur même après avoir installé openssl avec Homebrew:

g++ -Wall -g -std=c++11 -I../libSocket/src -I../libData/src  -c src/fsslhandler.cpp -o obj/fsslhandler.o
In file included from src/fsslhandler.cpp:1:
In file included from src/fsslhandler.h:8:
../libSocket/src/sslsocket.h:6:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
         ^
1 error generated.
make: *** [obj/fsslhandler.o] Error 1

Après avoir cherché une solution, j’ai trouvé une solution qui ne fonctionne pas :

brew link openssl --force

Pour que cela fonctionne, je dois ajouter les drapeaux suivants à la compilation:

LDFLAGS: -L/usr/local/opt/openssl/lib

CPPFLAGS: -I/usr/local/opt/openssl/include

Comment le faire fonctionner sans ces drapeaux?

Openssl utilise pour travailler sur El Capitan installé avec brew, mais j’ai réinstallé OS X et mis à jour openssl avec homebrew et me voilà.

Remercier

10
Ricain

J'ai trouvé la solution: Clang ne cherchait pas au bon endroit.

xcode-select --install

Ce message a résolu ce problème: Sur mac, g ++ (clang) ne parvient pas à rechercher/usr/local/include et/usr/local/lib par défaut

7
Ricain

Vous pouvez également utiliser un compte de développeur Apple pour télécharger l'option autonome.

https://developer.Apple.com/download/more

Vous verrez quelque chose comme ça:

 enter image description here

0
PYK