繁体   English   中英

链接到PostgreSQL和SSL

[英]Linking to PostgreSQL and SSL

我正在尝试使用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库之间不匹配。 如何找到正确的头文件?

添加到标题搜索路径不会自动将文件包含在代码中; 您仍然需要使用#include#import 如果这样做的话,您可以扩展构建结果以查看Xcode生成的确切编译器/链接器命令。 它应该使您对发生的问题有所了解。

只需自己编译PostgreSQL客户端库,就可以知道要针对哪些SSL库进行编译,如果它们不属于OS X,则可以包含它们。

我想我解决了这个问题,但仍然需要进一步测试:

首先,我创建了一个与数据库服务器一起安装的postgresql库的链接:

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

然后,我从项目中删除了对libpq.a的引用,并将其链接到新的postgresql .dylib。 这立即解决了我的SSL问题。

我仍然不能使XCode看到postgresql头文件,但是至少可以通过在项目中手动包括它们来解决,而没有明显的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM