Получение cURL для работы с Visual Studios 2017 32-разрядной на 64-разрядной машине - PullRequest
0 голосов
/ 13 октября 2018

64-разрядная версия Windows 7 (64-разрядная версия Intel i5).

Я помню, как настраивал сообщество Visual Studio 2017 для 32-разрядной среды.

(я предполагал, что это обеспечит обратную совместимость моих приложений)а также работать на 64-битных машинах, может быть, плохое предположение?).

В любом случае, для подтверждения, расширенные настройки компоновщика нацелены на x86 ..., а также на конфигурации сборки, нацеленные на 32bit, x86.

Мое приложение (C ++ с Boost) компилируетсяи работает нормально.

Теперь я пытаюсь добавить cURL, но выглядит не очень хорошо.

Шаги Попытка скомпилировать cURL как 32-битную:

  • c: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ VC \ Auxiliary \ Build> vcvarsall.bat x86
  • nmake / f Режим Makefile.vc = статический MACHINE = x86

(также пытался связать статическую C CRT с RTLIBCFG = статическая, без различий)

  • Дополнительные каталоги включения: добавлен путь к / включить каталог

  • Определения препроцессора: добавлено CURL_STATICLIB

  • Дополнительные каталоги библиотеки: добавлен путь к / lib
  • Дополнительные зависимости: добавлено libcurl_a.lib

Функция cURL в этом примере связана:

CURL *curl = curl_easy_init();
if (curl) printf("curl_easy_init() succeeded!\n");
else fprintf(stderr, "Error calling curl_easy_init().\n");
return 0;

, но в самом концеe compile "

fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'

VCTargets\Microsoft.CppCommon.targets(720,5): error MSB6006: "link.exe" exited with code 1112.

ОБНОВЛЕНИЕ: Расширенные настройки компоновщика не были установлены обратно на x86 после попытки использования ссылок ниже; истинная ошибка:

fatal error LNK1120: 60 unresolved externals

они все выглядят так, но для каждогоссылка на объектный файл:

libcurl_a.lib (easy.obj): ошибка LNK2019

(FYI - я пробовал их и собирал cURL, как если бы я нацелился на x64,но функции (в примере кода) не будут разрешаться во время компоновки.)

Получение cURL для работы с Visual Studios 2017

Получение LibCurl для работы сVisual Studio 2013

...