CMake告诉我什么(Windows错误)?

时间:2018-09-16 00:13:35

标签: windows cmake

我不认为自己是CMake的新手,但我无法在已购买的更新的Windows计算机上使用它。适用于我的 only 生成器是实际的Visual Studio项目生成器(例如“ Visual Studio 14 2015 Win64”)。我已经尝试了几个最新版本的CMake(3.12.2、3.10.3),并在尝试另一个生成器(NMake Makefiles JOM,NMake Makefiles,CodeBlocks-NMake Makefiles等)时始终得到以下提示。我应该补充一点,我正在以管理员身份打开的VS2015 x64本机工具命令提示符窗口中运行此命令行。

D:\Projects\build-QWar-newest>cmake -G "NMake Makefiles JOM" ../QWar

错误日志:

Determining if the C compiler works failed with the following output:
Change Dir: D:/Projects/build-QWar-newest/CMakeFiles/CMakeTmp

Run Build Command:"jom" "/NOLOGO" "cmTC_8b88c\fast"
jom: parallel job execution disabled for Makefile

    C:\Qt\Tools\QtCreator\bin\jom.exe -f CMakeFiles\cmTC_8b88c.dir\build.make /nologo -L CMakeFiles\cmTC_8b88c.dir\build

Building C object CMakeFiles/cmTC_8b88c.dir/testCCompiler.c.obj

    C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.exe @C:\Users\Rich\AppData\Local\Temp\testCCompiler.c.obj.19968.0.jom

testCCompiler.c

Linking C executable cmTC_8b88c.exe

    "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_8b88c.dir --manifests  -- C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\link.exe /nologo @CMakeFiles\cmTC_8b88c.dir\objects1.rsp @C:\Users\Rich\AppData\Local\Temp\cmTC_8b88c.exe.19968.375.jom

MT: command "mt /nologo /manifest CMakeFiles\cmTC_8b88c.dir/intermediate.manifest /out:CMakeFiles\cmTC_8b88c.dir/embed.manifest /notify_update" failed (exit code 0x0) with the following output:
The system cannot find the file specifiedjom: D:\Projects\build-QWar-newest\CMakeFiles\CMakeTmp\CMakeFiles\cmTC_8b88c.dir\build.make [cmTC_8b88c.exe] Error 2

jom: D:\Projects\build-QWar-newest\CMakeFiles\CMakeTmp\Makefile [cmTC_8b88c\fast] Error 2

这是一个简单的项目-这是D:\ Projects \ QWar中的CMakeLists.txt:

cmake_minimum_required(VERSION 3.0)

project(QWar)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)

find_package(Qt5Core CONFIG REQUIRED)

add_executable(${PROJECT_NAME}
    main.cpp
    Card.cpp
    Deck.cpp
    Player.cpp
    Round.cpp
    Game.cpp)

target_link_libraries(${PROJECT_NAME} Qt5::Core)

编辑:重新格式化错误日志

我不确定自己在做什么错。我已经将其与旧版本的CMake一起使用,实际上,我有一台具有Qt5.7 / CMake3.6.1的机器,而我在上面尝试过的机器也可以。

1 个答案:

答案 0 :(得分:1)

多亏了kitware的Gregor的帮助,解决方案是确保'mt.exe'在系​​统路径中。 Windows SDK与Visual Studio分开安装。

以上错误并未明确指出mt是丢失的文件。用-debug-trycompile运行cmake之后,我可以自己运行临时版本,错误变得更加明显。不使用-debug-trycompile,当编译器测试失败时,它将删除默认情况下生成的临时文件。