Я пытаюсь использовать стандартные системные заголовочные файлы в своем проекте 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 к Пользовательским Путям поиска Заголовка. Но если бы я делаю это, затем я должен был бы изменить все угловые скобки <> к кавычкам"", который снова походит на взлом. Я имею в виду, это стандартные системные заголовочные файлы, таким образом, я чувствую, что это должно быть что-то простое, не требуя этих видов взломов.
Какие-либо идеи?
Спасибо!
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
, но вы, вероятно, можете придумать другие, раз вы знаете основную проблему.
Возможно, это зависит от того, что HFS(+) нечувствителен к регистру. В сообщении об ошибке говорится о "Openssl/bio.h" с большой буквы "O", но вы указываете "openssl/bio.h" в include и путь с /usr/include работает.
Я подозреваю, что в вашем пути include есть некий каталог "Openssl" (с большой буквы "O"), который используется при поиске "openssl/bio.h". Этого бы не произошло, если бы HFS(+) с самого начала был чувствителен к регистру (я знаю, что это возможно, но на самом деле это очень хлопотно в использовании...)
.