openssl/ssl.h 未找到但安装了自制软件

openssl/ssl.h not found but installed with homebrew

我正在我的 Mac 运行 El Capitan 上开发一个 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,现在我在这里。

感谢

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

xcode-select --install

这个 post 解决了这个问题:On mac, g++ (clang) fails to search /usr/local/include and /usr/local/lib by default

尝试将这些放入您的 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"