未找到 openssl/ssl.h 但已使用自制软件安装

新手上路,请多包涵

我正在运行 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 许可协议

阅读 900
2 个回答

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

原文由 chouyangv3 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题