解决Clang在Windows下无法使用的问题
本人环境,Win10+VS2017+Clang
所用Clang包为 LLVM-4.0.0-win64.exe
安装之后使用clang -v显示如下
$ clang -v
clang version 4.0.0 (tags/RELEASE_400/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
如何能让clang在Win下可用,只要设置相应环境变量即可
1.添加INCLUDE
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt;
2.添加LIB
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\lib\x64;
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\ucrt\x64;
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64;
3.添加Path
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64;
小结
就此clang也算是可以在Win下使用
一个疑惑
但是有一个很疑惑的地方想和大家讨论下,若有知道的请联系我
我测试所用代码为t.cpp,内容如下
#include<iostream>
int main()
{
std::cout<<"Hello World"<<std::endl;
return 0;
}
编译并运行的结果如下
$ clang++ t.cpp -o t.exe
t-bc4546.o : warning LNK4217: 本地定义的符号 __std_terminate 在函数 "int `public: static unsigned __int64 __cdecl std::char_traits<char>::length(char const * const)'::`1'::dtor$2" (?dtor$2@?0??length@?$char_traits@D@std@@SA_KQEBD@Z@4HA) 中导入
t-bc4546.o : warning LNK4217: 本地定义的符号 _CxxThrowException 在函数 "public: void __cdecl std::ios_base::clear(int,bool)" (?clear@ios_base@std@@QEAAXH_N@Z) 中导入
$ ./t.exe
Hello World
虽然也是能够编译了,但是这warning略显蛋疼,若有知道如何解决的各位也请联系我