CMake не может открыть "ucrtd.lib" - PullRequest
1 голос
/ 15 мая 2019

Моя проблема похожа на эту: Проблемы при создании решения для VS 2017 с CMake , но решение не работает для меня.

При запуске cmake в Командная строка разработчика для VS 2017 , я получил сообщение об ошибке (от CMakeError.log):

ССЫЛКА: фатальная ошибка LNK1104: не удается открыть файл "ucrtd.lib" [E: \ Projects \ My Project \ VS \ CMakeFiles \ 3.14.4 \ CompilerIdC \ CompilerIdC.vcxproj]

Но файл ucrtd.lib находится в папке Windows Kits.

эхо% LIB%

D: \ Program Files (x86) \ Сообщество Microsoft Visual Studio 2017 \ VC \ Tools \ MSVC \ 14.16.27023 \ lib \ x86; C: \ Program Files (x86) \ Windows Kits \ NETFXSDK \ 4.6.1 \ lib \ um \ x86; C: \ Program Files (x86) \ Windows Kits \ 10 \ lib \ 10.0.17763.0 \ ucrt \ x86 ; C: \ Program Files (x86) \ Windows Kits \ 10 \ Lib \ 10.0.17763.0 \ ит \ x86;

dir "C: \ Program Files (x86) \ Windows Kits \ 10 \ lib \ 10.0.17763.0 \ ucrt \ x86 \" / w / b

libucrt.lib
libucrtd.lib
ucrt.lib
ucrtd.lib

И я также пытаюсь вручную запустить команду сборки, указанную в CMakeError.log, она завершается успешно, без ошибок.

CL.exe / c / nologo / W0 / WX- / диагностика: классическая / Od / Oy- / D _MBCS / Gm- / EHsc / RTC1 / MDd / GS / fp: точная / Zc: wchar_t / Zc: forScope / Zc: inline / Fo "Debug \" /Fd"Debug\vc141.pdb "/ Gd / TC / analysis- / FC / errorReport: очередь CMakeCCompilerId.c

link.exe / ERRORREPORT: QUEUE /OUT:".\CompilerIdC.exe "/ ОБЯЗАТЕЛЬНО: НЕТ / NOLOGO kernel32.lib user32.lib gins32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib / MANIFEST / MANIFESTUAC: "level = 'asInvoker' uiAccess = 'false'" / manifest: embed /PDB:".\CompilerIdC.pdb "/ SUBSYSTEM: CONID / 1 / DYNAMICBASE / NXCOMPAT /IMPLIB:".\CompilerIdC.lib "/ MACHINE: X86 / SAFESEH Debug \ CMakeCCompilerId.obj

Похоже, что cmake не распознал переменные окружения, или я пропустил некоторые важные шаги?

cmake версия 3.14.4
версия для студии visual 15.9.7

1 Ответ

0 голосов
/ 16 мая 2019

Как упоминалось в этом форуме CMake, может потребоваться явно указать CMake, какую конкретную версию Windows вы установили. Учитывая, что у вас установлена ​​версия 10.0.17763.0, в том числе следующее определение направит CMake к этой версии:

cmake -DCMAKE_SYSTEM_VERSION=10.0.17763.0

Вот документы для CMAKE_SYSTEM_VERSION.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...