2017-02-12 1 views
0

J'essaye de construire un projet sous Windows 10 - Home en utilisant VS 2010 et CMake. Je reçois les erreurs suivantes:VS 2010 et CMake: 'rc' n'est pas reconnu comme une commande interne ou externe

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 

Est-ce que quelqu'un sait ce que la cause de:

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

serait?

Je suppose que cela provoque également le cl.exe est une erreur cassée?

Répondre

3

La dernière fois que j'ai rencontré ce problème, mon installation standard de Visual Studio 2012 Professional n'a pas installé de SDK Windows (le journal des erreurs montrait un en-tête SDK manquant).

Pour vérifier l'installation de votre SDK, par ex. vérifiez que vous avez installé un compilateur de ressources. Il devrait être dans une voie similaire à:

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

Depuis que je manquais ce - ou plus précis tout SDK - j'ai installé Windows 8.1 SDK (depuis Visual Studio 2012 ne cible de Windows 8.x) et voila mon CMake a de nouveau été en mesure compiler les programmes (test). Je pense que pour Visual Studio 2010, la valeur par défaut serait Windows 7.0a SDK et pour Visual Studio 2015 ce serait Windows 10 SDK avec Universal C Runtime.

Référence

+0

accepté votre réponse parce que le problème était que je n'ai pas rc.exe ou rc.dll sur mon ordinateur. Sous Microsoft SDKs \ Windows, j'ai les dossiers v7.0A, v7.1, v8.1 et v10.0A. Toutefois, aucun des dossiers ne contient rc.exe ou rc.dll. Et v7.1 est un dossier vide même si je suis supposé avoir Windows SDK pour Windows 7 (7.1) installé. Je suppose qu'il y a un problème avec mon installation. – User137481

+0

@ User137481 Lors de l'installation personnalisée de Visual Studio, vous pouvez choisir si vous souhaitez installer le SDK Windows correspondant. Si ce n'est pas le cas, une sorte de "version minimale" est installée (contenant uniquement includes, libs/dlls). Il est donc normal qu'il existe des artefacts de kits SDK/Kits Windows, mais pour le compilateur de ressources, vous devez installer le SDK, y compris les "outils". – Florian

+0

oui c'est ce que j'ai fait. J'ai simplement accepté le "défaut" quand j'ai fait l'installation initiale. Donc, je l'ai réinstallé et ça va maintenant. Merci. – User137481