Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Add-in that allows easy use of Clang compiler from inside Visual Studio 2013, replacing the MSVC compiler when building C++ projects.
C#
branch: master

update release notes

latest commit 2ff990dcc4
Harry Denholm authored
Failed to load latest commit information.
install/VS_2013 options to override VS root envvars
.gitignore Add bin and obj dirs to ignore.
AssemblyInfo.cs options to override VS root envvars
CVXBuildSystem.cs options to override VS root envvars
CVXConnect.cs tunable max-errors-before-abandon-build; better compile-as-C and -std…
CVXOps.cs tunable max-errors-before-abandon-build; better compile-as-C and -std…
CVXRegistry.cs options to override VS root envvars
CVXSettings.Designer.cs options to override VS root envvars
CVXSettings.cs options to override VS root envvars
CVXSettings.resx fix for formatting changes (diff tab sizes) from fork; updated readme…
ClangVSx-Logo.ico First working version
ClangVSx-Logo.png First working version
ClangVSx.AddIn update to target VS2013 and Clang 3.5.1, strip out older Clang/LLVM p…
ClangVSx.csproj fix for formatting changes (diff tab sizes) from fork; updated readme…
ClangVSx.csproj.user Add .user file, has example debug environment, useful for others...
ClangVSx.sln First working version
ClangVSx.xml tunable max-errors-before-abandon-build; better compile-as-C and -std…
ClangVSx2012.csproj fix for formatting changes (diff tab sizes) from fork; updated readme…
ClangVSx2012.csproj.user version 3.2 changes (llvm-ld / vs2012 support)
ClangVSx2012.sln version 3.2 changes (llvm-ld / vs2012 support)
ClangVSx2013.csproj update to target VS2013 and Clang 3.5.1, strip out older Clang/LLVM p…
ClangVSx2013.sln VS 2013 support
CommandBar.resx First working version
CommandBar1.Designer.cs version 3.2 changes (llvm-ld / vs2012 support)
DTEHelper.cs a few fixes for relative-paths (resolved now correctly from project l…
LICENSE.TXT First working version
LLVM-Logo-Derivative-5.png First working version
README.md update release notes

README.md

ClangVSx

AddIn for Visual Studio 2013 that allows use of the Clang 3.5 C/C++ compiler in place of MSVC++. Translates VC project and build settings into gcc-friendly command line arguments, along with existing platform tools (MSVC Linker, Librarian, RC) to complete the build chain.

One click 'Build Project' testing of Clang in Windows development environments!

Futher information and screenshots are here.

Bear in mind that Clang support for Windows is incomplete and occasionally buggy. This AddIn is largely experimental and the code is likely to change a lot over time. Your milage will definately vary.

Some things not supported:

  • PCH (ignored during translation)
  • ATL / MFC projects (Clang can't handle certain ATL/COM headers properly yet)

Changes in v0.5

  • Compatibility with Clang 3.5 - deprecate previous versions and add new features, fix LTO pipeline
  • Support for VS2010/2012 will likely still work but I won't be testing or deploying those

Changes in v0.4.5

  • Compatibility with Clang 3.3 (-ccc-host-triple => -target) with 3.2 fallback

Changes in v0.4.0

  • Code clean-up courtesy of Ilibis fork
  • Settings support for toggling C++11, MS C++ ABI
  • Settings support for different platform targets (proper support for x86/x64/ARM variants)
  • Further testing on VS2012 RTM

Changes in v0.3.2

  • Support for latest Clang 3.2 changes - specifically the removal of llvm-ld during LTO phase
  • Support added for Visual Studio 2012 RC

Changes in v0.3

  • Support for LTCG (LTO) - ClangVSx will compile to LLVM bitcode, link and optimise the artifacts into a single object file before doing native code generation.

Required Compiler Patches

The latest version is tested against Clang 3.5.1.

A pre-built version of Clang for Windows, tracked to the latest code changes from SVN, is available here.


Usage

There is a directory for each Visual Studio platform supported in the pre-built zip.

VS2013: Copy .AddIn and built ClangVSx.dll from the VS_2013/ directory into C:\Users\<username>\Documents\Visual Studio 2013\Addins\

A new top-level Clang menu will be created, offering a settings dialog (to choose location of compiler) and Rebuild Active Project or Relink A context-menu option is added to code editor windows that allows for Clang-specific tasks to be performed on that code.


Release Notes

Version 0.5.2 (2015-04-16)

  • Control max-errors-before-build-abandon in Settings
  • Override VS envvars for root tool paths can be overridden in Settings
  • Better support for C - testing with libsodium, opus, libvpx
  • Better support for custom build tasks - testing with YASM in libvpx
  • Can cancel rebuilds

Version 0.5.0 (2015-01-15)

  • Support for Clang 3.5
  • Support for Visual Studio 2013

Version 0.4.5 (2012-12-04)

  • Support for Clang 3.3

Version 0.4.0 (2012-10-22)

  • Testing against VS 2012 RTM, Windows 8
  • More settings options, better support for 32/64 bit project targets in VS

Version 0.3.2 (2012-08-09)

  • Removed use of llvm-ld, no longer available in recent Clang 3.2 builds
  • Added support for Visual Studio 2012 RC

Version 0.3 (2012-05-28)

  • Tidied up preferences, added more diagnotics options in the settings dialog
  • Tested with latest Clang 3.2 builds and some more adventurous Win32 projects
  • Added support for LTO / LTCG

Version 0.2 (2011-06-18)

  • Refactor build system to be much cleaner and easier to read and maintain
  • Added MIDL support
  • Successfully tested against smallpt - requires static init patch above
  • Tested with a stripped-down DirectX 9 demo - requires a little IUnknown hack

Version 0.1 (2011-06-09)

  • Initial commit of working version, tested with Clang 3.0
  • Tested against LAME plus a few simple wizard-generated Win32 apps from VS2010 :
    • DLL, Static Library, Application
    • Console Application
Something went wrong with that request. Please try again.