我是新手。我已经在shell中编译了OpenSSL的libcrypto.a,但无法将其链接到我的Firebreath插件。我在CMakeLists.txt中添加了
target_link_libraries(${CURPROJECT} /path/to/libcrypto.a)
但CMake给出错误:
无法为目标指定链接库"/path/to/libcrypto.a"不是由该项目构建的
我使用的是MacOSX 10.9、XCode 5.1.1、FireBreath 1.7、OpenSSL 1.0.1i。
请向我解释,我如何将libcrypto.a链接到我的插件?
您是否已经测试了此处描述的"实验性"内置openssl支持:
Firebreath库
您收到的错误消息表明它认为您正在尝试为项目/path/to/libcrypto.a
添加链接库,而不是您正在尝试将链接库/path/to/libcrypto.a
添加到项目$(CURPROJECT)
。
这可能是因为您需要执行${CURPROJECT}
(cmake变量使用{}
而不是()
)。也可能是没有定义变量CURPROJECT
。
您的命令是正确的,但传递给它的参数不是。您也可以考虑使用find_library来查找libcrypto.a
当然,对于Mac操作系统,您应该已经有了可用的openssl,因此不需要指定路径。此外,正如@hasa所提到的,你最好只使用firebreath openssl的东西,这是实验性的,但实际上只是在windows上——mac操作系统,它只是使用现有的。它只是被标记为实验性的,因为我不愿意为windows二进制文件提供支持。