我正在运行 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 并使用 homebrew 更新了 openssl,我就在这里。
感谢
原文由 Ricain 发布,翻译遵循 CC BY-SA 4.0 许可协议
我找到了解决方案:clang 没有找对地方。
这篇文章解决了这个问题: 在 Mac 上,g++ (clang) 默认无法搜索 /usr/local/include 和 /usr/local/lib