2016-02-14 5 views
1

Так первоначально я следовал указаниям BUILD.WINDOWS.txt, и я был в состоянии получить Libcurl здания 32-битного пути создания нового файла winbuild.bat и поместить его в корневой директории моего завитка папки:Как создать libcurl для 64-разрядной Windows в Visual Studio 2010?

CALL "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 
CD winbuild 
DEL CURL_OBJS.inc 
DEL LIBCURL_OBJS.inc 
DEL vc100.idb 
nmake /f Makefile.vc mode=dll VC=10 ENABLE_WINSSL=yes GEN_PDB=yes MACHINE=X86 
CD .. 
EXIT /B 0 

Я тогда пошел к файлу/новому/проекту из существующего кода .../Visual C++/использовать внешнюю систему сборки/построить командную строку: winbuild.bat. Я попытался создать новую платформу в своих свойствах x64, с winbuild64.bat:

CALL "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat" 
CD winbuild 
DEL CURL_OBJS.inc 
DEL LIBCURL_OBJS.inc 
DEL vc100.idb 
nmake.exe /f Makefile.vc mode=dll VC=10 ENABLE_WINSSL=yes GEN_PDB=yes MACHINE=x64 DEBUG=no 
CD .. 
EXIT /B 0 

Но это мой выход для winbuild64.bat:

Setting environment for using Microsoft Visual Studio 2010 x64 tools. 

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

configuration name: libcurl-vc10-x64-release-dll-ipv6-sspi-winssl 
Using SSL: 
Using c-ares: 
Using SSH2: 
Using ZLIB: 
Using IDN: true 
Using IPv6: true 
Using SSPI: 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_PRO 
TOTYPES /DUSE_IPV6 /DUSE_WINDOWS_SSPI /DUSE_SCHANNEL /Zi /Fd"..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib\libcurl.pdb" 
LFLAGS: /nologo /machine:x64 "/LIBPATH:../../deps/lib" /incremental:no /opt:ref,icf 
GenPDB: true 
Debug: no 
Machine: x64 
     link.exe /DLL ws2_32.lib wldap32.lib advapi32.lib Normaliz.lib /out:..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib\libcurl.dll /IMPLIB:..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib\libcurl.lib /nologo /machine:x64 "/LIBPATH:../../deps/lib" /incremental:no /opt:ref,icf ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/file.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/timeval.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/base64.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostip.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/progress.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/formdata.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/cookie.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/sendf.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/ftp.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/url.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/dict.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/if2ip.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/speedcheck.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/ldap.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/version.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/getenv.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/escape.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/mprintf.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/telnet.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/netrc.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/getinfo.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/transfer.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/strequal.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/easy.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/security.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_fnmatch.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/fileinfo.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/ftplistparser.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/wildcard.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/krb5.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/memdebug.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http_chunks.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/strtok.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/connect.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/llist.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hash.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/multi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/content_encoding.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/share.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http_digest.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/md4.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/md5.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http_negotiate.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/inet_pton.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/strtoofft.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/strerror.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/amigaos.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostasyn.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostip4.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostip6.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostsyn.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/inet_ntop.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/parsedate.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/select.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/tftp.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/splay.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/strdup.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/socks.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/ssh.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/rawstr.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_addrinfo.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/socks_gssapi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/socks_sspi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_sspi.obj..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/slist.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/nonblock.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_memrchr.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/imap.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/pop3.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/smtp.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/pingpong.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/rtsp.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_threads.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/warnless.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hmac.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_rtmp.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/openldap.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_gethostname.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/gopher.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/idn_win32.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http_negotiate_sspi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http_proxy.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/non-ascii.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/asyn-ares.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/asyn-thread.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_gssapi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_ntlm.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_ntlm_wb.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_ntlm_core.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_ntlm_msgs.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_sasl.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_multibyte.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/hostcheck.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/conncache.obj..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/pipeline.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/dotdot.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/x509asn1.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/http2.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_sasl_sspi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/smb.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_sasl_gssapi.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_endian.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/curl_des.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/openssl.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/gtls.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/vtls.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/nss.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/polarssl.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/polarssl_threadlock.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/axtls.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/cyassl.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/schannel.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/darwinssl.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/gskit.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/vtls/mbedtls.obj ..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib\libcurl.res 
..\builds\libcurl-vc10-x64-release-dll-ipv6-sspi-winssl-obj-lib/file.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' 
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.exe"' : return code '0x458' 
Stop. 
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\nmake.exe"' : return code '0x2' 
Stop. 

я смог построить 32-битную в командной строке, и я попробовал как Visual Studio Command Prompt (2010), так и Visual Studio x64 Win64 Command Prompt (2010), но не работал.

Я читал this answer, и мне кажется, что я могу создать проект, а затем запустить nmake изнутри Visual Studio 2010, но я не могу понять, как он работает в каталоге winbuild во время компиляции.

Код в моем проекте завершен, и все, что у меня осталось сделать, - это построить зависимости для получения DLL-файлов и lib-файлов для развертывания. Я отлаживал сборку libcurl 7.25.0 за все это время, и я пытаюсь построить 7.47.1. Вся помощь была оценена.

+0

Самый простой способ - перейти на веб-страницу: 'https: // curl.haxx.se/download.html' и загрузить соответствующую версию для вашей версии Windows. – user3629249

+1

Мне нужен файл libcurl.lib, чтобы я мог статически связать libcurl.dll с моим проектом. – NobleUplift

+0

Вы посмотрели ссылки на веб-сайт? среди многих других вариантов есть выбор для загрузки исходных файлов с 4 различными форматами. – user3629249

ответ

0

1) по ссылке, которую я дал в моих комментариях

2) вниз загрузить нужный архивный файл

3) распаковать архивный файл

4) запустить ./configure затем make затем make install

(информация может немного отличаться в зависимости от того, какая ОС работает. Выше было указано для любой операционной системы unix.)

Включенные MANUAL и связанные с ними README и Makefile и GITinfo файлы могут быть легко прочитаны, чтобы точно определить, что нужно вводить для каждой из поддерживаемых ОС.

+0

Вы не можете запускать configure в Windows и не можете запустить make. Эквивалентным является nmake. Прочитайте документ 'winbuild/BUILD.WINDOWS.txt' в исходном tar. – NobleUplift

+0

@NobleUplift, Разве я не упоминал, что последовательность, которую я дал, была для unix? Разве я не упоминал, что подробности будут другими для других ОС? – user3629249

+0

Тогда ваш ответ не отвечает на вопрос, а именно _in/using Visual Studio 2010_. – NobleUplift

2

Его простой.
1: установить Windows SDK, VS с VC,
2: скачать последний локон релиз
3: Win + R CMD
4: компакт-диск в положение [ваш против установки] \ VC \ Bin [amd64 или x86_amd64] используйте папку в соответствии с типом сборки, которую вы хотите (я использовал amd64 на 64-битной машине для использования curl dll на моем 64-битном уровне.).
5: запустить vcvars64 или vcvars32 соответственно
6: cd to [извлеченный CURL-файл] \ winbuild
7: run:
nmake/f makefile.vc ENABLE_WINSSL = yes mode = dll MACHINE = x64 VC = 13 Используйте версию x64 и VC в соответствии с вашей установкой.VS 2013 - это 13

Это займет некоторое время и постройте dll в \ CURL \ builds \ libcurl-vc13-x64-release-dll-ipv6-sspi-winssl или \ CURL \ builds \ libcurl-vc13-x86- релиз-длл-ipv6-ССПИ-winssl


если CMD не может найти NMAKE, в системной переменной PATH, добавьте это: бла-бла, волдырь, BLEH BLEH [ваш установки VS каталог] \ VC \ Bin


подтвердите, что указанная папка содержит файл nmake.exe.

+0

Используя ваш очень полезный ответ, я создал .lib и .dll, и я попробовал оба использовать target_link_libraries в cmake. Когда я пытаюсь построить проект в visual studio, я получаю ошибку, что мой файл поврежден, когда я использую .dll, и когда я использую .lib, я получаю неопределенные ссылочные ошибки. Поскольку они, скорее всего, связаны с тем, что .lib не включен, я дважды проверил это и включил .lib, а CURL_STATICLIB определен в препроцессоре. У вас есть какая-то подсказка, что может быть проблемой? – QuesterDesura

+0

такой же предмет бывает для меня. Вы нашли решение? – user3217883

 Смежные вопросы

  • Нет связанных вопросов^_^