VS 2010 и CMake: "rc" не распознается как внутренняя или внешняя команда

Я пытаюсь построить проект на Windows 10 - Home, используя VS 2010 и CMake. Я получаю следующие ошибки:

zutil.c  
lib -nologo -out:zlib.lib adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj  gzwrite.obj infback.obj inflate.obj inftrees.obj inffast.obj trees.obj uncompr.obj zutil.obj   

rc /dWIN32 /r /fozlib1.res ./win32/zlib1.rc   
'rc' is not recognized as an internal or external command,
operable program or batch file.   

NMAKE : fatal error U1077: 'rc' : return code '0x1'
Stop.  
*.dll   
The system cannot find the file specified.
        0 file(s) copied.  

Setting environment for using Microsoft Visual Studio 2010 x86 tools.  
The system cannot find the file specified.  
-- The C compiler identification is MSVC 16.0.40219.1  
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe   
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- broken   

CMake Error at C:/Program Files (x86)/CMake/share/cmake3.6/Modules/CMakeTestCCompiler.cmake:61 (message):


The C compiler "C:/Program Files (x86)/Microsoft Visual Studio
  10.0/VC/bin/cl.exe" is not able to compile a simple test program.

  It fails with the following output:

   Change Dir: C:/Project/build/libpng-1.6.7-build/CMakeFiles/CMakeTmp

Кто-нибудь знает в чем причина:

'rc' is not recognized as an internal or external command,
operable program or batch file."  

было бы?

Я предполагаю, что это также является причиной ошибки cl.exe?

1 ответ

Решение

В прошлый раз у меня возникла эта проблема, когда моя стандартная установка Visual Studio 2012 Professional не установила Windows SDK (в журнале ошибок отображался отсутствующий заголовок SDK).

Чтобы проверить установку SDK, например, убедитесь, что у вас установлен любой Resource Compiler. Это должно быть в пути, похожем на:

C:\Program Files (x86)\Microsoft SDKs\Windows\v[some version]\bin\RC.Exe

Так как мне не хватало этого - или, точнее, любого SDK - я установил Windows 8.1 SDK (поскольку Visual Studio 2012 поддерживает Windows 8.x) и вуаля, мой CMake смог снова скомпилировать (тестировать) программы. Я думаю, что для Visual Studio 2010 по умолчанию будет Windows 7.0a SDK, а для Visual Studio 2015 это будет Windows 10 SDK с Universal C Runtime.

Ссылка

Другие вопросы по тегам