XCode не может найти заголовки OpenSSL в/usr/include

Я пытаюсь использовать стандартные системные заголовочные файлы в своем проекте XCode C++:

#include <openssl/bio.h>
#include <openssl/ssl.h>
#include <openssl/err.h>

Сборка перестала работать, и она жалуется:

"Openssl/bio.h: No such file or directory"

Я добавил/usr/include к "Путям поиска Заголовка" в настройках Project, но это не фиксирует его.

Я могу зафиксировать его путем добавления целого пути как:

#include </usr/include/openssl/bio.h>

- но проект полон подобных, включает, и я не хочу изменять всех их этот путь. Кроме того, я чувствую, что мне не придется сделать этого.

Другой способ зафиксировать его был бы как другой упомянутый поток, который должен добавить/usr/include к Пользовательским Путям поиска Заголовка. Но если бы я делаю это, затем я должен был бы изменить все угловые скобки <> к кавычкам"", который снова походит на взлом. Я имею в виду, это стандартные системные заголовочные файлы, таким образом, я чувствую, что это должно быть что-то простое, не требуя этих видов взломов.

Какие-либо идеи?

Спасибо!

10
задан jww 2 August 2017 в 01:04
поделиться

2 ответа

Xcode использует текущий выбранный SDK в качестве базового пути, который он префиксирует к системным include. Так что если ваш SDK - /Developer/SDKs/MacOSX10.6.sdk, то по умолчанию он будет искать системные включения в /Developer/SDKs/MacOSX10.6.sdk/usr/include.

Существуют различные возможные обходные пути - я бы, вероятно, просто поместил символическую ссылку в /Developer/SDKs/MacOSX10.6.sdk/usr/include, указывающую на /usr/include/openssl, но вы, вероятно, можете придумать другие, раз вы знаете основную проблему.

14
ответ дан 3 December 2019 в 22:35
поделиться

Возможно, это зависит от того, что HFS(+) нечувствителен к регистру. В сообщении об ошибке говорится о "Openssl/bio.h" с большой буквы "O", но вы указываете "openssl/bio.h" в include и путь с /usr/include работает.

Я подозреваю, что в вашем пути include есть некий каталог "Openssl" (с большой буквы "O"), который используется при поиске "openssl/bio.h". Этого бы не произошло, если бы HFS(+) с самого начала был чувствителен к регистру (я знаю, что это возможно, но на самом деле это очень хлопотно в использовании...)

.
1
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: