工具链文件中的CMake CMAKE_SYSTEM_PROCESSOR:构建时出错

时间:2019-01-11 18:08:38

标签: cmake

我使用以下工具链文件:

# funnel.cmake in root

if(CMAKE_SYSTEM_NAME MATCHES Windows)
    if(CMAKE_SYSTEM_PROCESSOR MATCHES ".*64$")
        message("Build architecture: x64")
        set(CMAKE_GENERATOR_PLATFORM x64)
    else()
        message("Build architecture: x86")
        set(CMAKE_GENERATOR_PLATFORM Win32)
    endif()
endif()

使用命令(从构建目录):

cmake .. -DCMAKE_TOOLCHAIN_FILE="../funnel.cmake"

终端输出与cmake .. -A x64相同。尤其是正确的编译器已经过测试,可以运行。

-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works

但是构建命令:

cmake --build . --target install --config Release

返回以下内容(而cmake .. -A x64之后的构建命令成功):

ÉCHEC de la build.

"C:\Users\agautier\funnel\cmake\funnel\build\install.vcxproj" (cible par défaut) (1) ->
"C:\Users\agautier\funnel\cmake\funnel\build\ZERO_CHECK.vcxproj" (cible par défaut) (2) ->
(PlatformPrepareForBuild cible) ->
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets
(65,5): error MSB8020: Les outils de génération pour Visual Studio 2010 (ensemble d'outils de plateforme = 'v100') sont
 introuvables. Pour générer à l'aide des outils de génération v100, installez les outils de génération Visual Studio 20
10. Vous avez également la possibilité de mettre à niveau les outils Visual Studio actuels en sélectionnant le menu Pro
jet ou en cliquant avec le bouton droit sur la solution, puis en sélectionnant "Recibler la solution". [C:\Users\agauti
er\funnel\cmake\funnel\build\ZERO_CHECK.vcxproj]

0 个答案:

没有答案