openSSL mac未定义符号
我正在为MAC开发一个TLSclient,我正在MACOSX上构建我的项目(在linux上运行得非常好),特别是在使用openssl libs方面 以下是我的控制台错误,希望您能帮助我处理:openSSL mac未定义符号,c,macos,openssl,C,Macos,Openssl,我正在为MAC开发一个TLSclient,我正在MACOSX上构建我的项目(在linux上运行得非常好),特别是在使用openssl libs方面 以下是我的控制台错误,希望您能帮助我处理: gcc -lpthread -o *.o /opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libssl.a /opt//local/var/macports/software/openss
gcc -lpthread -o *.o /opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libssl.a /opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libcrypto.a -ldl
Undefined symbols:
"_SSL_CTX_set_info_callback", referenced from:
_MTLSServer_Setup in MTLSServer.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [mtls_server] Error 1
感谢您在OpenSSL 0.9.7
SSL\u CTX\u set\u info\u回调中的帮助是一个宏,您的代码正在尝试链接到函数。这可能意味着您没有正确的标题路径
我对命令行中的其他内容感到有点困惑:
- 为什么要静态链接旧版本的OpenSSL 0.9.7。Mac OS X的最新版本包括0.9.8
-o*.o
似乎是一个错误,应该是-o某物*.o
-lpthread
参数应该在libcrypto之后
他正在使用GCC调用对象文件上的ld
,以链接它们。他不是用那个命令编译的。/opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libssl.a
看起来真奇怪。你确定这些道路吗?对我来说,find/opt/local/-inamelibssl.a
的结果是/opt/local//lib/libssl.a
。