cURL с Visual Studio 2013

Так что я пришел вместе с cURL как очень хорошая библиотека и очень хорошо работает в OSX.
Но теперь у меня большие проблемы с подготовкой библиотеки. Я гуглил сейчас около 2 дней и попробовал более десятка (подробно) различных способов подготовить это. Без какого-либо успеха.

Вот несколько способов, которые я в основном пробовал:

  1. Прямая загрузка: Проблема здесь уже начинается с правильной загрузки. Официальная страница загрузки довольно запутанная, поэтому я рассмотрел этот «cURL Download Wizard»> «libcurl development», который дает мне версию, которую я смогу включить в любой проект. Но как именно это включить? В ЛЮБЫХ инструкциях это ведет меня к каталогам, которых у меня даже нет. Почти всегда упоминается этот «curllib.lib». Я скачал около 6 разных версий на этой странице загрузки, ни в одной из них нет этого файла. (См. Например этот инструкция)
  2. Git + CMake: В качестве решения вышеупомянутой ссылки предлагается использовать git clone для этого. Я выполнил все инструкции там, а также сгенерировал проекты только с предупреждениями. Но здесь также сказано:
    После сборки цели установки вы найдете папки bin / include / lib в C: \ curl.vc12
    Ну, я на самом деле не понял его точку зрения «build install target», я просто строю всю карту проекта, как она есть. Компилируется нормально (115 выполнено, 0 не выполнено, 2 пропущено). Но сейчас C: \ curl.vc12 нет. Что мне нужно предварительно настроить перед компиляцией?
  3. NuGet: Идея исходит из ссылки в пункте (1) снова, другое решение с NuGet.
    С Successfully added 'curl 7.30.0.2' to test. это также казалось хорошим, но компилирование simple.c приводит к куче unresolved external symbol ошибки компоновщика. Но решение предоставляется:
    Убедитесь, что каталог include и каталог lib указаны в каталогах Visual C ++ в свойствах проекта.
    Так в Project > Properties > VC++ Properties > "Include Directories" а также
    Project > Properties > VC++ Properties > "Library Directories"
    а также в Project > C/C++ > General > "Additional Include Directories" И в Project > Linker > General > "Additional Library Directories" Я отчаянно добавил путь \ packages \ из папки моего проекта.
    Как указано в инструкции, я добавил libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib; в Project > Linker > Input > "Additional Dependencies",
    Все что сделано, то unresolved external symbol ошибки ушли! Поэтому я получаю только одну ошибку, говоря cannot open file 'libcurl.lib', Что я могу сделать здесь?

Я новичок во всем этом. Но сейчас я очень стараюсь, чтобы это наконец заработало. Так что я могу сделать?
Я работаю с Visual Studio 2013 Community Edition. Самая последняя версия cURL 7.42.1,
Любая помощь приветствуется!

5

Решение

У меня были проблемы, наконец-то все заработало.
Я загрузил curl-7.42.1.zip от Официальный веб-сайт.
В архиве вы найдете исходный код и файл winbuild / BUILD.WINDOWS.txt, который в основном содержит инструкции, которым я следовал. Я предполагаю, что он был разархивирован в C: \ curl-7.42.1.

Открой Командная строка Visual Studio расположен в

C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Ярлыки

Это автоматически устанавливает переменные среды, необходимые для использования инструментов Visual Studio, таких как компилятор. Затем перейдите в каталог winbuild и вызовите

nmake / f Makefile.vc mode = dll

как описано в текстовом файле, который я упоминал выше.

Это создаст каталог

C: \ завиток-7.42.1 \ строит \ Libcurl-VC-x86-релиз-длл-ipv6-ССПИ-winssl

содержащий libcurl.dll, libcurl.lib и необходимые заголовочные файлы. Давайте переименуем его в C:\curl-7.42.1\builds\release : ‘D

  1. Тогда открой свой проект.
  2. Откройте свойства вашего проекта.
  3. Убедитесь, что вы выбрали Релиз как конфигурация (верхний левый угол)!
  4. Перейдите к VC++ Directories > Include directories и добавить C:\curl-7.42.1\builds\release\include
  5. добавлять C:\curl-7.42.1\builds\release\lib в VC++ Directories > Library directories,
  6. Идти к Linker > Input > Additional Dependencies и добавить libcurl.lib,
  7. Наконец скопировать C:\curl-7.42.1\builds\release\bin\libcurl.dll в папку вашего проекта.

Это должно делать свое дело! : D Если вы хотите использовать cURL в режиме отладки, вы можете сделать почти то же самое, перекомпилировать с помощью nmake /f Makefile.vc mode=dll debug=yesперейдите в свойства вашего проекта, добавьте только что созданные пути к каталогам (изменив libcurl.lib на libcurl_debug.lib), и все готово.

10

Другие решения

Я была такая же проблема. Я скачал локон с https://github.com/curl/curl. на самом деле вы можете скомпилировать его непосредственно с Visual Studio 2013 (но будьте осторожны с настройкой параметров: x64 с выпуском). Основное отличие состоит в том, что он дает вам libcurl_imp.lib. Затем все, что вам нужно сделать, это установить переменные среды, как описано выше. Просто хочу отметить, что вам придется использовать libcurl_imp.lib вместо libcurl.lib в дополнительных зависимостях (я подозреваю, что это изменение из-за новой версии curl).

0

По вопросам рекламы [email protected]