[CMake] Problem using VS-compiled Clang as a C/C++ compiler.

Anton Yartsev anton.yartsev at gmail.com
Fri Mar 4 06:16:09 EST 2016


Hi Cristian,

thanks for the replay. I have clang-cl first in PATH, the problem persists.

$ SET PATH
Path=D:\-Work-\llvm-3.7.1.src\-VS_build VS 2013-\Release\bin;...

$cd D:\-Work-\llvm-3.7.1.src\-VS_build VS 2013-\Release\bin
$dir
  Directory of D:\-Work-\llvm-3.7.1.src\-VS_build VS 2013-\Release\bin

04.03.2016  14:03    <DIR>          .
04.03.2016  14:03    <DIR>          ..
04.03.2016  01:00        11 662 848 arcmt-test.exe
04.03.2016  01:02         6 446 080 bugpoint.exe
04.03.2016  01:01             9 728 c-arcmt-test.exe
04.03.2016  01:01            82 944 c-index-test.exe
04.03.2016  17:20        40 207 872 clang++.exe
04.03.2016  01:01        32 803 840 clang-check.exe
04.03.2016  17:20        40 207 872 clang-cl.exe
04.03.2016  01:00         1 401 856 clang-format.exe
04.03.2016  17:05           814 592 clang-tblgen.exe
04.03.2016  17:20        40 207 872 clang.exe
...


> Hi Anton,
>
> clang.exe doesn't know of any windows specific things.  Clang-cl 
> instead does.
>
> Just make sure to have clang-cl before msvc-cl in path and ninja will 
> just work.
>
> Cheers,
> Cristian
>
> On Mar 4, 2016 01:31, "Anton Yartsev" <anton.yartsev at gmail.com 
> <mailto:anton.yartsev at gmail.com>> wrote:
>
>     Hi all,
>
>     I'm trying to use Clang, compiled with VS 2013
>     (configuration:Release, platform:x64) as a C/C++ compiler for a
>     simple HelloWorld CMake project. Generation ends up with errors
>     like "clang.exe: error: no such file or directory: '/DWIN32'" at
>     compiler check stage. If I understand correctly the problem is
>     that MSVC compiler options are fed to Clang for some reason (maybe
>     the "-- The C compiler identification is unknown" log entry is
>     related to the problem?).
>     Could anyone help to resolve this, please?
>
>     I also tried to change compiler ID with
>     "-DCMAKE_C_COMPILER_ID=Clang -DCMAKE_CXX_COMPILER_ID=Clang", then
>     compilation succeeded, but linkage failed (just as described in
>     the thread "Question on usage of cmake on Windows with clang"
>     http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/54650).
>     Here the problem seems to be reversed: GNU linker options are fed
>     to MS linker.
>
>     ************** Setup and details:
>     1) INCLUDE and PATH set to clang/clang-cl
>     2) command line environment is configured with vsvars32.bat
>     3) CC and CXX set to clang
>
>     $ cat CMakeLists.txt
>     project(test_project)
>     add_executable(main file.cpp)
>
>     $ cmake -G "Ninja" -DCMAKE_C_COMPILER=clang
>     -DCMAKE_CXX_COMPILER=clang ..
>
>     Log:
>     -- The C compiler identification is unknown
>     -- The CXX compiler identification is Clang 3.7.1
>     -- Check for working C compiler using: Ninja
>     -- Check for working C compiler using: Ninja -- broken
>     CMake Error at C:/Program
>     Files/CMake/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61
>     (message):
>       The C compiler "D:/-Work-/llvm-3.7.1.src/-VS_build VS
>       2013-/Release/bin/clang.exe" is not able to compile a simple
>     test program.
>       It fails with the following output:
>        Change Dir: D:/-Work-/llvm-3.7.1.src/-CLANG-/CMakeFiles/CMakeTmp
>
>       Run Build Command:"C:/PROGRA~1/ninja/ninja.exe" "cmTC_2cb9d"
>
>       [1/2] Building C object
>     CMakeFiles\cmTC_2cb9d.dir\testCCompiler.c.obj
>
>       FAILED: D:\-Work-\LLVM-3~2.SRC\-VS_BU~2\Release\bin\clang.exe
>     /DWIN32
>       /D_WINDOWS /W3 -o CMakeFiles\cmTC_2cb9d.dir\testCCompiler.c.obj -c
>       testCCompiler.c
>
>       clang.exe: error: no such file or directory: '/DWIN32'
>       clang.exe: error: no such file or directory: '/D_WINDOWS'
>     ...
>
>     OS: Windows 7 (x64)
>
>     clang version 3.7.1 (tags/RELEASE_371/final)
>     Target: x86_64-pc-windows-msvc
>     Thread model: posix
>
>     cmake version 3.5.0-rc3
>
>     Thank you!
>
>     -- 
>     Anton
>
>     -- 
>
>     Powered by www.kitware.com <http://www.kitware.com>
>
>     Please keep messages on-topic and check the CMake FAQ at:
>     http://www.cmake.org/Wiki/CMake_FAQ
>
>     Kitware offers various services to support the CMake community.
>     For more information on each offering, please visit:
>
>     CMake Support: http://cmake.org/cmake/help/support.html
>     CMake Consulting: http://cmake.org/cmake/help/consulting.html
>     CMake Training Courses: http://cmake.org/cmake/help/training.html
>
>     Visit other Kitware open-source projects at
>     http://www.kitware.com/opensource/opensource.html
>
>     Follow this link to subscribe/unsubscribe:
>     http://public.kitware.com/mailman/listinfo/cmake
>


-- 
Anton

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160304/1c131021/attachment.html>


More information about the CMake mailing list