【问题标题】:libcURL unresolved externals after 7.36 rebuild7.36 重建后 libcURL 未解决的外部问题
【发布时间】:2014-05-06 15:17:01
【问题描述】:

好的,做一个旧的 VC 项目没有用,所以我尝试根据讨论 winbuild 文件夹的文档并直接运行 nmake /f Makefile.vc... 并且仍然得到未解决的外部项目。在如此广泛使用和维护的系统上,这不应该这么困难。全部来自今天的全新下载。

我正在使用 VS2013 命令行提示符并通过 > 重定向到文本文件和 2> 重定向我得到的错误内容来捕获输出

nmake /f Makefile.vc mode=dll VS=12 > compileResult.txt 2> compileError.txt

(错误内容)

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.exe"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

(其余的构建内容)

configuration name: libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl
Using SSL:
Using SSH2:
Using ZLIB:
Using IDN: true
Using IPv6: true
Using SSPI: true
Using SPNEGO: true
Using WinSSL: true
CFLAGS: /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /I"../../deps/include" /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES /DUSE_IPV6 /DUSE_WINDOWS_SSPI /DUSE_SCHANNEL /DHAVE_SPNEGO
LFLAGS: /nologo /machine:x86 "/LIBPATH:../../deps/lib"
GenPDB:
Debug:
Machine: x86
    link.exe /DLL ws2_32.lib wldap32.lib advapi32.lib Normaliz.lib /out:..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib\libcurl.dll  /IMPLIB:..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib\libcurl.lib /nologo /machine:x86 "/LIBPATH:../../deps/lib" ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/file.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/timeval.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/base64.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostip.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/progress.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/formdata.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/cookie.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/sendf.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/ftp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/url.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/dict.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/if2ip.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/speedcheck.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/ldap.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/version.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/getenv.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/escape.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/mprintf.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/telnet.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/netrc.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/getinfo.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/transfer.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/strequal.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/easy.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/security.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_fnmatch.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/fileinfo.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/ftplistparser.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/wildcard.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/krb5.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/memdebug.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http_chunks.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/strtok.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/connect.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/llist.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hash.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/multi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/content_encoding.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/share.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http_digest.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/md4.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/md5.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http_negotiate.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/inet_pton.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/strtoofft.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/strerror.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/amigaos.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostasyn.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostip4.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostip6.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostsyn.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/inet_ntop.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/parsedate.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/select.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/tftp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/splay.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/strdup.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/socks.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/ssh.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/rawstr.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_addrinfo.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/socks_gssapi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/socks_sspi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_sspi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/slist.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/nonblock.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_memrchr.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/imap.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/pop3.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/smtp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/pingpong.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/rtsp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_threads.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/warnless.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hmac.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_rtmp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/openldap.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_gethostname.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/gopher.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/idn_win32.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http_negotiate_sspi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http_proxy.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/non-ascii.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/asyn-ares.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/asyn-thread.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_gssapi.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_ntlm.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_ntlm_wb.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_ntlm_core.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_ntlm_msgs.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_sasl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/curl_multibyte.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/hostcheck.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/bundles.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/conncache.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/pipeline.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/dotdot.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/x509asn1.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/http2.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/openssl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/gtls.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/vtls.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/nss.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/qssl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/polarssl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/polarssl_threadlock.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/axtls.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/cyassl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/curl_schannel.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/curl_darwinssl.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib/vtls/gskit.obj   ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib\libcurl.res
   Creating library ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib\libcurl.lib and object ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-lib\libcurl.exp
Copying libs...
    link.exe /incremental:no /libpath:"..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl\lib" /nologo /out:..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl\bin\curl.exe /subsystem:console /machine:x86 libcurl.lib ws2_32.lib wldap32.lib advapi32.lib Normaliz.lib ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl\tool_hugehelp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl\nonblock.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl\rawstr.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl\strtoofft.obj ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_binmode.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_bname.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_dbg.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_hdr.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_prg.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_rea.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_see.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cb_wrt.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_cfgable.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_convert.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_dirhie.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_doswin.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_easysrc.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_formparse.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_getparam.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_getpass.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_help.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_helpers.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_homedir.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_libinfo.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_main.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_metalink.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_mfiles.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_msgs.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_operate.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_operhlp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_panykey.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_paramhlp.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_parsecfg.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_setopt.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_sleep.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_urlglob.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_util.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_vms.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_writeenv.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_writeout.obj  ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl/tool_xattr.obj   ..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl-obj-curl\curl.res
tool_cb_rea.obj : error LNK2019: unresolved external symbol _curlx_read referenced in function _tool_read_cb
..\builds\libcurl-vc12-x86-release-dll-ipv6-sspi-spnego-winssl\bin\curl.exe : fatal error LNK1120: 1 unresolved externals

【问题讨论】:

    标签: c++ curl dll linker libcurl


    【解决方案1】:

    您使用的说明实际上非常古老。我不知道这些 VS 工作区是否得到积极维护,并且有一个更新的 makefile,开发人员鼓励人们将其用于命令行构建(请参阅 curl 邮件列表中的此线程:http://curl.haxx.se/mail/lib-2014-03/0220.html)。

    如果你查看 curl 源目录,有一个名为 winbuild 的子目录。我通常可以使用其中的 makefile Makefile.vc 成功构建 curl 和 libcurl。这些选项在文件 BUILD.WINDOWS.txt 中有清楚的说明。一个基本的构建命令可能类似于:

    C:\curl-src\winbuild> nmake -f Makefile.vc MODE=dll VC=12 MACHINE=x64
    

    这将在 curl 源目录中生成一个“builds”文件夹,其中包含您的 curl.exe、libcurl.dll 和 libcurl.lib。如果您选择 MODE=static,您将不会获得 libcurl.dll,但您会获得 libcurl_a.lib,这可能是您的项目所需要的。

    您可以将二进制文件和库添加到您的 VS 项目中。您可能还需要添加 curl 包含目录中的 .h 文件以及您想要的任何其他源文件。

    对于 curl 7.36.0,makefile 中有一个小问题,开发人员很快纠正了这个问题。您可以在下面 Daniel Stenberg 的评论中从 GitHub 存储库获取更新的 makefile。只需在构建之前将发布包的 winbuild 目录中的 makefile 替换为 GitHub 存储库中 windbuild 目录中的 makefile。

    希望对您有所帮助。

    【讨论】:

    • 7.36.0 的 winbuild makefile 中有一个错误,我们在发布后在 git 中修复了该错误:github.com/bagder/curl/commit/2dc63c72dc86 这不会让您的构建重新开始吗?
    • 我刚刚尝试使用来自 github 的新 makefile 构建 curl 7.36,它运行良好。谢谢! (我对我的答案进行了必要的修改。)