XCode在/ usr/include中找不到OpenSSL头

min*_*ief 10 macos xcode openssl include header-files

我正在尝试在我的C++ XCode项目中使用标准系统头文件:

#include <openssl/bio.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
Run Code Online (Sandbox Code Playgroud)

构建失败,它抱怨:

"Openssl/bio.h: No such file or directory"
Run Code Online (Sandbox Code Playgroud)

我在项目设置中将/ usr/include添加到"标题搜索路径",但这并没有解决它.

我可以通过添加整个路径来解决它:

#include </usr/include/openssl/bio.h>
Run Code Online (Sandbox Code Playgroud)

- 但该项目充满了类似的包含,我不想以这种方式改变所有这些.另外,我觉得我不应该这样做.

修复它的另一种方法是提到另一个线程,即将/ usr/include添加到用户头搜索路径.但是,如果我这样做,那么我必须将所有尖括号<>更改为引号"",这似乎又是一个黑客.我的意思是,这些是标准的系统头文件,所以我觉得它应该是简单的,不需要这些类型的黑客.

有任何想法吗?

谢谢!

Pau*_*l R 14

Xcode使用当前选择的SDK作为基本路径,它作为系统包含的前缀.因此,如果您的SDK是默认情况下系统包含,/Developer/SDKs/MacOSX10.6.sdk那么它将查看/Developer/SDKs/MacOSX10.6.sdk/usr/include.

有各种可能的解决方法 - 我可能只是/Developer/SDKs/MacOSX10.6.sdk/usr/include指出一个符号链接,/usr/include/openssl但你现在可能会想到其他人,你知道潜在的问题.

  • @JPK:在Xcode 4和5中,所有/ Developer的东西都被重新定位在Xcode.app中. (2认同)