我有来自http://llvm.org/releases/3.9.0/LLVM-3.9.0-win32.exe的 clang 3.9
clang version 3.9.0 (branches/release_39)
Target: i686-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
Run Code Online (Sandbox Code Playgroud)
和gcc 6.2.0(Mingw-w64)
gcc (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)
我的PC上没有安装MSVC,也没有安装Windows SDK.我需要clang的一些特殊功能,我想用gcc替换它,更具体地说用g ++替换它因为我使用C++.
当我尝试编译简单文件时,我得到:
致命错误:找不到'string'文件
这是否意味着我目前的clang安装不支持windows上的mingw?基本上我只想使用mingw-w64安装中的头文件和库.我一直在寻找解决方案而没有找到任何东西.我不知道该怎么办.
这是否也意味着我的clang安装取决于我没有的MSVC?
编辑: 从本页面的评论:http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt2/
这不再适用于LLVM的最新二进制文件(3.7.1,3.8,3.9),因为它们是使用Visual Studio和Visual Studio编译的.
您可以安装完整的Visual Studio 2015(大约8GB)或安装"Microsoft Visual C++ Build Tools 2015 Update …
我在Win10上安装了LLVM和Clang-3.9.0.我也安装了MinGW.
我把我的C代码放在'D:'驱动器中.
我可以使用gcc和g ++来编译我的代码.但是当我使用clang时,我得到:
clang -cc1 version 3.9.0 based upon LLVM 3.9.0 default target x86_64-pc-windows-msvc
ignoring duplicate directory "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A"
ignoring duplicate directory "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A"
#include "..." search starts here:
#include <...> search starts here:
C:\Program Files\LLVM\bin\..\lib\clang\3.9.0\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A
End of search list.
hello.c:1:10: fatal error: 'stdio.h' file not found
#include "stdio.h"
^
1 error generated.
Run Code Online (Sandbox Code Playgroud)
因为我可以使用gcc和g ++,我的环境变量设置是正确的.但后来我无法强迫clang调查C:\ MinGW.
我尝试手动C:\Program Files\LLVM\bin\和\lib\clang\3.9.0\include单独粘贴整个MinGW文件夹,但它不起作用.我想试试这个,但在3.9.0我找不到,clang/lib/Frontend/InitHeaderSearch.cpp …