Failure to build hadoop v2.7.1 in windows 7 64 bit with error : The C compiler identification is unknown , The CXX compiler identification is unknown

Failure to build hadoop v2.7.1 in windows 7 64 bit with error : The C compiler identification is unknown , The CXX compiler identification is unknown

在 windows 7 64 位中,我尝试构建 hadoop 版本 2.7.1,如线程中所述:Apache Hadoop 2.7.1 binary for Windows 64-bit platform

我安装了所有需要的软件,对于 c 编译器,我使用 windows sdk 7.1 的 c++ 编译器(visual studio 2010 未安装)

我从 Windows SDK 7.1 命令提示符 运行 发布 x64 以下命令:

    mvn package -Pdist,native-win -DskipTests -Dtar

但构建因错误而失败

     The C compiler identification is unknown
     -- The CXX compiler identification is unknown
     CMake Error in CMakeLists.txt:
       No CMAKE_C_COMPILER could be found.


     CMake Error in CMakeLists.txt:
     No CMAKE_CXX_COMPILER could be found.

命令提示符的主要设置是:

    APPVER=6.1
    CL=/AI C:\Windows\Microsoft.NET\Framework64\v4.0.30319
    CommandPromptType=Native
    CURRENT_CPU=x64
    FrameworkVersion=v4.0.30319
    platform=x64
    PlatformToolset=Windows7.1SDK
    PROCESSOR_ARCHITECTURE=AMD64
    sdkdir=C:\Program Files\Microsoft SDKs\Windows\v7.1\
    SESSIONNAME=Console
    TARGET_CPU=x64
    TARGET_PLATFORM=WIN7
    ToolsVersion=4.0
    USERDOMAIN=WIN7X64
    VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
    WindowsSDKDir=C:\Program Files\Microsoft SDKs\Windows\v7.1\
    WindowsSDKVersionOverride=v7.1

控制台输出如下:

    [INFO] ------------------------------------------------------------------------
    [INFO] Building Apache Hadoop HDFS 2.7.1
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-os) @ hadoop-hdfs ---
    ....
    ....

    main:
    [INFO] Executed tasks
    [INFO]
    [INFO] --- maven-antrun-plugin:1.7:run (make) @ hadoop-hdfs ---
    [INFO] Executing tasks

    main:
         [exec] -- The C compiler identification is unknown
         [exec] -- The CXX compiler identification is unknown
         [exec] CMake Error in CMakeLists.txt:
         [exec]   No CMAKE_C_COMPILER could be found.
         [exec]
         [exec]
         [exec]
         [exec] CMake Error in CMakeLists.txt:
         [exec]   No CMAKE_CXX_COMPILER could be found.
         [exec]
         [exec]
         [exec]
         [exec] -- Configuring incomplete, errors occurred!
         [exec] See also "E:/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/target
    /native/CMakeFiles/CMakeOutput.log".
         [exec] See also "E:/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/target
    /native/CMakeFiles/CMakeError.log".
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO]
    [INFO] Apache Hadoop Main ................................. SUCCESS [  2.995 s]
    [INFO] Apache Hadoop Project POM .......................... SUCCESS [  4.477 s]
    [INFO] Apache Hadoop Annotations .......................... SUCCESS [  4.696 s]
    [INFO] Apache Hadoop Assemblies ........................... SUCCESS [  0.250 s]
    [INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [  3.759 s]
    [INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [  3.775 s]
    [INFO] Apache Hadoop MiniKDC .............................. SUCCESS [  3.354 s]
    [INFO] Apache Hadoop Auth ................................. SUCCESS [  4.056 s]
    [INFO] Apache Hadoop Auth Examples ........................ SUCCESS [  3.807 s]
    [INFO] Apache Hadoop Common ............................... SUCCESS [02:09 min]
    [INFO] Apache Hadoop NFS .................................. SUCCESS [ 12.776 s]
    [INFO] Apache Hadoop KMS .................................. SUCCESS [ 15.304 s]
    [INFO] Apache Hadoop Common Project ....................... SUCCESS [  0.031 s]
    [INFO] Apache Hadoop HDFS ................................. FAILURE [ 42.105 s]
    [INFO] Apache Hadoop HttpFS ............................... SKIPPED
    [INFO] Apache Hadoop HDFS BookKeeper Journal .............. SKIPPED
    .....
    .....


    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 03:55 min
    [INFO] Finished at: 2016-12-03T14:30:39+02:00
    [INFO] Final Memory: 83M/494M
    [INFO] ------------------------------------------------------------------------
    .....
    ....

我用谷歌搜索:The CXX compiler identification is unknown 但我没有找到解决问题的办法

如何配置 cmake 或 maven 以避免此错误并使用 windows sdk 7.1 构建 hadoop 2.7.1?

我需要安装 visual studio 2010 吗?

我错过了什么?

构建失败是由于 cmake 版本 3.7.1 对 Microsoft Windows SDK Windows 7.

的中断支持问题

我用的是cmake-3.6.3-win64-x64,编译成功,看截图:

我 post 问题 #16483 在 3.7.1 broke support for Microsoft Windows SDK for Windows 7

Cmake 问题计划在 Cmake 3.7.2 版本中解决

我使用了以下软件工具:

  • apache-maven-3.3.9
  • cmake-3.6.3-win64-x64
  • cygwin64
  • jdk1.7.0_79
  • 协议-2.5.0-win32