我正在尝试用Cargo构建一些东西,它说ld: cannot find -lssl32
。我知道这意味着它需要一个库文件,所以我将安装OpenSSL的libssl32.dll
复制到它看起来的目录。 cargo build
现在抱怨它是skipping incompatible D:\foo\bar\libssl32.dll when searching for -lssl32
。反过来应该意味着它是一个32位的库,但我正在为64位目标构建,根据Stack Overflow的回答。
这就是事情:我发现OpenSSL的每个二进制64位分布似乎都缺少libssl32
(它们确实包含libeay32
这是Cargo / ld抱怨的另一件事,但它在我停止时停止了复制了64位版本的)。
在尝试了近十个不同的网站后,我看不到64位版本的libssl32.dll
。为什么是这样?我是不是看起来不够努力,或者libssl32
只是在构建64位时不被使用?在那种情况下,为什么Cargo要求它以及如何让它停止?
答案 0 :(得分:0)
我终于发现https://slproweb.com/products/Win32OpenSSL.html上最新的64位版本的OpenSSL确实包含libssl32.dll
。在构建之前我还必须cargo clean
以确保它找到它。