我正在为蒸汽项目开发一个TLS库,并支持Apple的(Transport-)Security和OpenSSL用于HTTP/2客户端和服务器。
在这一行代码中,我试图调用SSLSetALPNProtocols
.无论我采用哪种方法,我都会遇到该行代码上的ld
链接器错误。
Undefined symbols for architecture x86_64:
"_SSLSetALPNProtocols", referenced from:
__T08AppleSSL9SSLOptionV4alpnACSaySSG9protocols_tFZySo10SSLContextCKcfU_ in Options.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
没有可用的文档来突出显示可能的明显错误,因为页面是空的。
那么,如何让这段代码在 ALPN 支持下编译呢?
目前这是不可能的。苹果忘记导出SSLSetALPNProtocols
和SSLCopyALPNProtocols
功能。
我已经提交了 rdar://34790589(rdar://33907676 的副本)
截至最新的 macOS 和 Xcode 测试版和 Swift 4.1,我已经启动并运行了它。