[cfe-dev] Windows and Clang

Russell Wallace via cfe-dev cfe-dev at lists.llvm.org
Thu Sep 3 03:33:08 PDT 2015


I also just ran a test trying to compile my project with clang and link it
with all the libraries that had been compiled with Microsoft C++:

clang-cl -fms-compatibility-version=19 /J -I\llvm\build\include
-I\llvm\include -I\mpir /MTd *.cpp \llvm\build\Debug\lib\*.lib
\mpir\build.vc14\lib_mpir_core2\x64\Debug\mpir.lib

And it all worked fine, even though a fair number of C++ features were
used. To emphasise, this is linking C++ object files compiled with
different compilers, something traditionally considered theoretically
impossible, and it works! Exceptions are the main things I don't use,
because they are still apparently a work in progress.

On Thu, Sep 3, 2015 at 11:25 AM, Russell Wallace <russell.wallace at gmail.com>
wrote:

> On Thu, Sep 3, 2015 at 11:16 AM, Joshua Gerrard <joshua.gerrard at roli.com>
> wrote:
>
>> I'm using Visual Studio 2013 (just because we suppose it'll be better
>> tested etc) with revision 245761 of clang, compiler-rt and llvm. I'm also
>> using the ORC JIT engine to compile the C++ code.
>>
>
> Current revision seems to be 246... so that's pretty recent, right?
>
> Is there a reason you need to use compiler-rt?
>
> The errors we're getting are non-deterministic, which is what is making it
>> so hard to figure out.
>>
>
> As in, crashes due to stray pointers?
>
> Are you building the release from source, and if so, what cmake flags are
>> you using?
>>
>
> Yes. https://github.com/russellw/ayane/blob/master/build-clang.bat
>
>
>> Any other things I should know about that you use to build your project?
>>
>
> Current project build procedure:
>
> if "%VCINSTALLDIR%"=="" call "C:\Program Files (x86)\Microsoft Visual
> Studio 14.0\VC\vcvarsall" x64
> cl /Fea /I\llvm\build\include /I\llvm\include /I\mpir /MP /MTd *.cpp
> \llvm\build\Debug\lib\*.lib
> \mpir\build.vc14\lib_mpir_core2\x64\Debug\mpir.lib setargv.obj
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150903/b6838bed/attachment.html>


More information about the cfe-dev mailing list