Ссылки на PostgreSQL и SSL - PullRequest
       29

Ссылки на PostgreSQL и SSL

1 голос
/ 12 октября 2009

Я пытаюсь использовать libpq, клиентскую библиотеку для PostgreSQL в приложении Какао.

Прежде всего, добавление заголовочных файлов: я попытался добавить путь к заголовочным файлам PostgreSQL в разделе «Путь поиска заголовка пользователя» в свойствах моего проекта, а затем скомпилировать, но по какой-то причине XCode не может их увидеть. Решением было вручную добавить файлы и копию libpq.a в проект.

Это сработало, но теперь при сборке я получаю ошибку SSL:

"_SSL_CTX_set_client_cert_cb", referenced from:
_pqsecure_initialize in libpq.a(fe-secure.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

Некоторые исследования показывают, что это связано с несоответствием между заголовками SSL и библиотеками SSL. Как мне найти нужные заголовочные файлы?

Ответы [ 2 ]

0 голосов
/ 13 октября 2009

Я думаю, что я решил это, но это все еще требует дальнейшего тестирования:

Сначала я создал ссылку на библиотеку postgresql, которая была установлена ​​вместе с сервером базы данных:

sudo ln -s /opt/local/lib/postgresql80/libpq.dylib /usr/lib/libpq.dylib

Затем я удалил ссылку на libpq.a из проекта и связал ее с новым postgresql .dylib. Это сразу решило мою проблему с SSL.

Я до сих пор не могу заставить XCode просматривать файлы заголовков postgresql, но, по крайней мере, это решается включением их в проект вручную без видимых проблем.

0 голосов
/ 12 октября 2009

Добавление в заголовок пути поиска не включает автоматически файлы в ваш код; вам все еще нужно использовать #include или #import. Если вы сделали это, вы можете расширить результаты сборки, чтобы увидеть точные команды компилятора / компоновщика, которые генерирует Xcode; это должно дать вам некоторое представление о том, что происходит не так.

Просто скомпилируйте клиентские библиотеки PostgreSQL самостоятельно, чтобы вы знали, с какими библиотеками SSL вы компилируете, и можете включать их, если они не являются частью OS X.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...