簡體   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