cmake ninja clang windows失败了helloworld

时间:2016-08-22 04:42:43

标签: windows cmake clang ninja

遵循here的构建路线,但我有更新版本的工具。

cmake(3.6.1),ninja(1.7.1),vs-studio community 2015

clang version 3.8.1 (branches/release_3
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin

我注意到步骤Detecting CXX compile features失败了。为简洁起见,我只包含了大约20个错误中的第一个错误。

的CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(helloworld)
add_executable(${PROJECT_NAME} main.cpp)

的main.cpp

#include <iostream>

int main(int argc, char *argv[])
{
   std::cout << "Hello World\n";
   return 0;
}

打开VS2015 x64 Native Tools命令提示符

>> set PATH=C:\Program Files\LLVM\msbuild-bin;%PATH%
>> set INCLUDE=C:\Program Files\LLVM\lib\clang\3.8.1\include;%INCLUDE%
>> cmake -G "Ninja" ..
-- The C compiler identification is Clang 3.8.1
-- The CXX compiler identification is Clang 3.8.1
-- Check for working C compiler: C:/Program Files/LLVM/msbuild-bin/cl.exe
-- Check for working C compiler: C:/Program Files/LLVM/msbuild-bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/LLVM/msbuild-bin/cl.exe
-- Check for working CXX compiler: C:/Program Files/LLVM/msbuild-bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - failed
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/griffic/src/helloworld/ninjabuild

>> ninja
C:\PROGRA~1\LLVM\MSBUIL~1\cl.exe   /nologo   /DWIN32 /D_WINDOWS /W3 /GR /EHsc /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles\helloworld.dir\main.cpp.obj /FdCMakeFiles\helloworld.dir\ -c ..\main.cpp
In file included from ..\main.cpp:1:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\iostream:6:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\istream:6:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ostream:6:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ios:6:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocnum:7:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath:647:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xtgmath.h:8:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xtr1common(213,22) :  error: use of undeclared identifier 'char16_t'
        struct _Is_integral<char16_t>
                            ^
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xtr1common(219,22) :  error: use of undeclared identifier 'char32_t'
        struct _Is_integral<char32_t>

1 个答案:

答案 0 :(得分:0)

我抓住了4.0 windows快照here,这对我来说是helloworld。不幸的是,它在一个略大的测试程序中失败了,该程序包含gtest的使用。

但是我没有设置路径,而是使用4.0快照创建了helloworld函数。

打开VS2015 x64 Native Tools命令提示符

>> set CC=clang-cl
>> set CXX=clang-cl
>> cmake -G "Ninja" ..
>> ninja