将curl与VS2017、x64一起使用

将curl与VS2017、x64一起使用,curl,32bit-64bit,Curl,32bit 64bit,无重复:我读过几篇关于编译Curl的文章,但我仍然有问题,这似乎是一个32位与64位的问题。这就是我所做的: 打开“VS2017的x64本机工具命令行提示符” 将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 这个命令创建builds/libcurl-vc15-x64-re

无重复:我读过几篇关于编译Curl的文章,但我仍然有问题,这似乎是一个32位与64位的问题。这就是我所做的:

  • 打开“VS2017的x64本机工具命令行提示符”
  • 将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
这个命令创建builds/libcurl-vc15-x64-release-dll-ipv6-sspi-winssl/,并按预期使用bin、lib和include子目录,我甚至可以运行它

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的条目,这可能是问题所在。我只能想象这两个lib(SSLEAY32.DLL和LIBEAY32.DLL)来自Curl。有什么提示吗?

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