找不到openssl / ssl.h,但安装了自制程序

时间:2015-12-09 12:36:24

标签: c++ macos openssl homebrew clang++

我正在运行El Capitan的Mac上运行C ++项目,即使在使用Homebrew安装openssl后我也会收到此错误:

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

在搜索解决方案后,我找到一个无效

brew link openssl --force

为了使其工作,我必须在编译时添加以下标志:

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

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

如何在没有此标志的情况下使其正常工作?

Openssl用于使用brew安装的El Capitan,但我重新安装了OS X并使用自制软件更新了openssl,我就是这样。

感谢

3 个答案:

答案 0 :(得分:7)

我找到了解决办法:clang没有找对地方。

xcode-select --install

这篇文章解决了这个问题:details

答案 1 :(得分:0)

您还可以使用Apple开发者帐户下载独立选项

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

您会看到类似这样的内容:

enter image description here

答案 2 :(得分:0)

尝试将它们放入您的bash或zsh个人资料中。

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"