1

没有重复:我已经阅读了几篇关于编译 Curl 的文章,但我仍然遇到问题,这似乎是 32 位与 64 位的问题。这就是我所做的:

  • 打开“VS2017的x64 Native Tools命令行提示符”
  • 解压 curl7.64,cd 到 winbuild 和
  • C:\repoWOF\dev\3rdParty\curl-7.64.0\winbuild>nmake /f Makefile.vc mode=dll VC=15 ENABLE_WINSSL=yes MACHINE=x64

此命令按预期创建带有 bin、lib 和包含子目录的 builds/libcurl-vc15-x64-release-dll-ipv6-sspi-winssl/,我什至可以运行

C:\repoWOF\dev\3rdParty\curl-7.64.0\builds\libcurl-vc15-x64-release-dll-ipv6-sspi-winssl\bin>curl.exe
curl: try 'curl --help' or 'curl --manual' for more information

...这表明 libCurl 有效。但是,当 libCurl 与另一个软件链接时,此软件会崩溃(“此应用程序无法正确启动 (0x00007b)”)。我已将 Dependency Walker 与 libcurl.dll 和最终崩溃的软件(netlicensing)一起使用。这是 libcurl.dll 的输出:

在此处输入图像描述

这是 netlicensing 软件的 Dependency Walker:

在此处输入图像描述

..它显示了两个带有 x86 而不是 x64 的条目,这可能是问题所在。我只能想象这两个库(SSLEAY32.DLL 和 LIBEAY32.DLL)来自 Curl。有什么提示吗?

4

1 回答 1

1

找到了解决方法:SSLEAY32.DLL 和LIBEAY32.DLL 哪里有问题。我下载了 x64 版本(无论出于何种原因,它们也被命名为 xxx32.dll)并将它们放入可执行文件的目录中。

于 2019-02-08T22:40:26.860 回答