直接上料,具体配置如下:
一、命令行用clang编译C++,涉及到的文件:
C:\SublimeText3\Sublime Text\Data\Packages\User\clang-msvc.sublime-build
C:\LLVM\bin\clang-msvc.bat
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat
clang6.0 for msvc : https://sourceforge.net/projects/clangonwin/files/latest/download
下载clang6.0安装,我的安装路径:C:\LLVM
sublime构建clang编译环境的配置文件
clang-msvc.sublime-build:
{
"shell_cmd": "clang-msvc.bat \"${file}\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.c++",
"encoding":"utf-8"
}
放在llvm的bin目录下的批处理文件
clang-msvc.bat:
::将clang-msvc.bat复制到llvm的bin目录下
@echo off
::C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat
echo Init vcvarsx86_amd64 ...
cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
@call :GetVSCommonToolsDir
@if "%VS120COMNTOOLS%"=="" goto error_no_VS120COMNTOOLSDIR
@call "%VS120COMNTOOLS%VCVarsQueryRegistry.bat" 32bit 64bit
.......
:error_no_Framework40Version
@echo ERROR: Cannot determine the .NET Framework 4.0 version.
@goto end
:end
echo;
cd %~dp1
echo Compiling %~nx1 ...
if exist %~n1.exe (
del %~n1.exe
)
echo;
clang++ -Wall -std=c++11 %~nx1 -o %~n1.exe
if exist %~n1.exe (
echo Run %~n1.exe ...
echo;
%~n1.exe
echo;
)
下划线部分实际是原样从文件C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat中拷贝过来的,目的是为了保证初始化VC环境变量和clang的编译环境能处在同一个cmd窗口中。
效果:
cmd下执行效果:
二、在VS2013中配置clang
涉及的文件:
C:\Users\Administrator\Documents\Visual Studio 2013\Addins
Addins={ ClangVSx.AddIn, ClangVSx.dll }
具体如下:
下载https://github.com/ishani/ClangVSx,用VS2013编译,生成C:\LLVM\ClangVSx-master\install\VS_2013下的两个文件ClangVSx.AddIn, ClangVSx.dll ,然后将他们拷贝到C:\Users\Administrator\Documents\Visual Studio 2013\Addins(Addins如果没有就自己创建)下即可。
到VS2013中配置ClangVSx:
在Settings里添加你的llvm的bin路径,
重启VS2013,就可以看到下面的效果
用Rebuild Active Project来执行你的工程即可。
效果: