Mac OS X 10.6:OpenSSL库

时间:2012-10-23 20:30:21

标签: macos unix openssl

我在Mac上收到一个旧代码并试图在OS X 10.6上编译它,在代码中几乎没有对OpenSSL库的调用(例如SSL_write())我在这些文件中添加了头文件(#include)并检查我的OpenSSL版本向我显示“0.9.8r”(我知道Apple有自己的这个库加密框架'),但为什么我得到链接错误:

  sockets::TcpSocket::TryWrite(char const*, unsigned long) in TcpSocket.o

我知道代码应该在/usr/lib中对这个库进行编译,但它没有,我是否缺少Xcode中的路径或其他设置?

1 个答案:

答案 0 :(得分:1)

/ usr / bin中没有库。我假设你的意思是/ usr / lib。但是,您通常不会针对/ usr / lib进行编译。您通常针对特定的SDK进行编译,该SDK具有自己的/ usr / lib和/ usr / include副本。您使用的SDK头文件通常在-isysroot参数中传递。如果您使用Xcode构建,则主要通过“Base SDK”和“OS X部署目标”设置这些设置。如果没有关于你如何建设的具体细节,我不确定在哪里可以指出你。特别是,相关文件的编译和链接行是什么样的?


在Xcode中,不要尝试按路径链接特定的系统库。您应该始终使用构建设置的“链接阶段”面板链接系统库,并从SDK的库列表中进行选择。在“链接阶段”面板中选择特定路径几乎总会导致问题。