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 в этом примере связана:
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