Creating Clang on Windows: DiagnosticCommonKinds.inc Header Does Not Exist

I am trying to create Clang on Windows 8.1 with MS Visual Studio 2013, following the instructions http://clang.llvm.org/get_started.html in the section "Using Visual Studio",

I checked llvm on D:\Current\llvm , clang on D:\Current\llvm\tools\clang , created D:\Current\llvm_build and ran "D:\Program Files (x86)\cmake-3.3.0-win32-x86\bin\cmake.exe" -G "Visual Studio 12" ..\llvm in the llvm_build directory.

LLVM.sln and other files are created in the llvm_build directory without any critical errors. But when I open this solution in Visual Studio and try to compile the clang project, I get errors like this:

 1>D:\Current\llvm\tools\clang\include\clang/Basic/DiagnosticIDs.h(53): fatal error C1083: Cannot open include file: 'clang/Basic/DiagnosticCommonKinds.inc': No such file or directory (D:\Current\llvm\tools\clang\tools\driver\cc1as_main.cpp) 

In fact, the DiagnosticCommonKinds.inc file is not found anywhere in the llvm and llvm_build . I believe that it should be created by CMake during the build process, but for some reason this does not happen, and I do not get any significant errors.

Here is the output from CMake that I get:

 -- No build type selected, default to Debug -- The C compiler identification is MSVC 18.0.40629.0 -- The CXX compiler identification is MSVC 18.0.40629.0 -- The ASM compiler identification is MSVC -- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/cl.exe -- Check for working C compiler using: Visual Studio 12 2013 -- Check for working C compiler using: Visual Studio 12 2013 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 12 2013 -- Check for working CXX compiler using: Visual Studio 12 2013 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Warning: Did not find file Compiler/MSVC-ASM -- Looking for dirent.h -- Looking for dirent.h - not found -- Looking for dlfcn.h -- Looking for dlfcn.h - not found -- Looking for errno.h -- Looking for errno.h - found -- Looking for execinfo.h -- Looking for execinfo.h - not found -- Looking for fcntl.h -- Looking for fcntl.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for limits.h -- Looking for limits.h - found -- Looking for link.h -- Looking for link.h - not found -- Looking for malloc.h -- Looking for malloc.h - found -- Looking for malloc/malloc.h -- Looking for malloc/malloc.h - not found -- Looking for ndir.h -- Looking for ndir.h - not found -- Looking for signal.h -- Looking for signal.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for sys/dir.h -- Looking for sys/dir.h - not found -- Looking for sys/ioctl.h -- Looking for sys/ioctl.h - not found -- Looking for sys/mman.h -- Looking for sys/mman.h - not found -- Looking for sys/ndir.h -- Looking for sys/ndir.h - not found -- Looking for sys/param.h -- Looking for sys/param.h - not found -- Looking for sys/resource.h -- Looking for sys/resource.h - not found -- Looking for sys/stat.h -- Looking for sys/stat.h - found -- Looking for sys/time.h -- Looking for sys/time.h - not found -- Looking for sys/uio.h -- Looking for sys/uio.h - not found -- Looking for termios.h -- Looking for termios.h - not found -- Looking for unistd.h -- Looking for unistd.h - not found -- Looking for utime.h -- Looking for utime.h - not found -- Looking for valgrind/valgrind.h -- Looking for valgrind/valgrind.h - not found -- Looking for zlib.h -- Looking for zlib.h - not found -- Looking for fenv.h -- Looking for fenv.h - found -- Looking for FE_ALL_EXCEPT -- Looking for FE_ALL_EXCEPT - found -- Looking for FE_INEXACT -- Looking for FE_INEXACT - found -- Looking for mach/mach.h -- Looking for mach/mach.h - not found -- Looking for mach-o/dyld.h -- Looking for mach-o/dyld.h - not found -- Looking for histedit.h -- Looking for histedit.h - not found -- Performing Test HAVE_CXXABI_H -- Performing Test HAVE_CXXABI_H - Failed -- Looking for arc4random -- Looking for arc4random - not found -- Looking for backtrace -- Looking for backtrace - not found -- Looking for getpagesize -- Looking for getpagesize - not found -- Looking for getrusage -- Looking for getrusage - not found -- Looking for setrlimit -- Looking for setrlimit - not found -- Looking for isatty -- Looking for isatty - not found -- Looking for futimens -- Looking for futimens - not found -- Looking for futimes -- Looking for futimes - not found -- Looking for mallctl -- Looking for mallctl - not found -- Looking for mallinfo -- Looking for mallinfo - not found -- Looking for malloc_zone_statistics -- Looking for malloc_zone_statistics - not found -- Looking for mkdtemp -- Looking for mkdtemp - not found -- Looking for mkstemp -- Looking for mkstemp - not found -- Looking for mktemp -- Looking for mktemp - not found -- Looking for closedir -- Looking for closedir - not found -- Looking for opendir -- Looking for opendir - not found -- Looking for readdir -- Looking for readdir - not found -- Looking for getcwd -- Looking for getcwd - not found -- Looking for gettimeofday -- Looking for gettimeofday - not found -- Looking for getrlimit -- Looking for getrlimit - not found -- Looking for posix_spawn -- Looking for posix_spawn - not found -- Looking for pread -- Looking for pread - not found -- Looking for realpath -- Looking for realpath - not found -- Looking for sbrk -- Looking for sbrk - not found -- Looking for srand48 -- Looking for srand48 - not found -- Looking for strtoll -- Looking for strtoll - found -- Looking for strtoq -- Looking for strtoq - not found -- Looking for strerror -- Looking for strerror - found -- Looking for strerror_r -- Looking for strerror_r - not found -- Looking for strerror_s -- Looking for strerror_s - found -- Looking for setenv -- Looking for setenv - not found -- Looking for _chsize_s -- Looking for _chsize_s - found -- Looking for _alloca -- Looking for _alloca - not found -- Looking for __alloca -- Looking for __alloca - not found -- Looking for __chkstk -- Looking for __chkstk - not found -- Looking for __chkstk_ms -- Looking for __chkstk_ms - not found -- Looking for ___chkstk -- Looking for ___chkstk - not found -- Looking for ___chkstk_ms -- Looking for ___chkstk_ms - not found -- Looking for __ashldi3 -- Looking for __ashldi3 - not found -- Looking for __ashrdi3 -- Looking for __ashrdi3 - not found -- Looking for __divdi3 -- Looking for __divdi3 - not found -- Looking for __fixdfdi -- Looking for __fixdfdi - not found -- Looking for __fixsfdi -- Looking for __fixsfdi - not found -- Looking for __floatdidf -- Looking for __floatdidf - not found -- Looking for __lshrdi3 -- Looking for __lshrdi3 - not found -- Looking for __moddi3 -- Looking for __moddi3 - not found -- Looking for __udivdi3 -- Looking for __udivdi3 - not found -- Looking for __umoddi3 -- Looking for __umoddi3 - not found -- Looking for __main -- Looking for __main - not found -- Looking for __cmpdi2 -- Looking for __cmpdi2 - not found -- Looking for __GLIBC__ -- Looking for __GLIBC__ - not found -- Performing Test HAVE_INT64_T -- Performing Test HAVE_INT64_T - Success -- Performing Test HAVE_UINT64_T -- Performing Test HAVE_UINT64_T - Success -- Performing Test HAVE_U_INT64_T -- Performing Test HAVE_U_INT64_T - Failed -- Performing Test LLVM_HAS_ATOMICS -- Performing Test LLVM_HAS_ATOMICS - Success -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Failed -- Target triple: i686-pc-win32 -- Native target architecture is X86 -- Performing Test HAVE_ELMCB_PCSTR -- Performing Test HAVE_ELMCB_PCSTR - Success -- Threads enabled. -- Doxygen disabled. -- Sphinx disabled. -- Go bindings disabled. -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) -- OCaml bindings disabled. -- Using Debug VC++ CRT: MDd -- Using Release VC++ CRT: MD -- Using MinSizeRel VC++ CRT: MD -- Using RelWithDebInfo VC++ CRT: MD -- Using Debug VC++ CRT: MDd -- Performing Test SUPPORTS_SIZED_DEALLOC -- Performing Test SUPPORTS_SIZED_DEALLOC - Failed -- Found PythonInterp: E:/Python27/python.exe (found version "2.7.10") -- Constructing LLVMBuild project information -- LLVMHello ignored -- Loadable modules not supported on this platform. -- Targeting AArch64 -- Targeting AMDGPU -- Targeting ARM -- Targeting BPF -- Targeting CppBackend -- Targeting Hexagon -- Targeting Mips -- Targeting MSP430 -- Targeting NVPTX -- Targeting PowerPC -- Targeting Sparc -- Targeting SystemZ -- Targeting X86 -- Targeting XCore -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR) -- Clang version: 3.8.0 -- SampleAnalyzerPlugin ignored -- Loadable modules not supported on this platform. -- PrintFunctionNames ignored -- Loadable modules not supported on this platform. -- BugpointPasses ignored -- Loadable modules not supported on this platform. -- Configuring done -- Generating done -- Build files have been written to: D:/Current/llvm_build 

Can someone advise how to fix this problem? Am I doing something wrong?

+4
source share
1 answer

It turned out that the http://clang.llvm.org/get_started.html command is partially misleading:

Create a "clang" project only for the compiler driver and front end, or for the ALL_BUILD project to create everything, including tools.

It is actually impossible to compile the clang project in a newly created solution, but the ALL_BUILD project compiles without any problems and generates all the necessary files, including DiagnosticCommonKinds.inc.

+3
source

All Articles