# Windows C++ binary compatibility: MinGW vs MSVC

**URL:** <https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250>\
**Category:** General Usage\
**Tags:** package, cxx\
**Created:** [January 2, 2017, 8:45pm UTC](https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250 "2017-01-02T20:45:12Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 9, 2017, 1:50pm UTC](https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250/21 "2017-01-09T13:50:39Z")

</div>

> [@tkelman](#):
>
> We’ll be putting together better tooling, documentation, and automation to simplify the process of cross-compiling and producing Windows binaries for package developers. MSVC is not going to be a part of this given its limitations. Initial porting of libraries like Tensorflow to add Windows support would likely have been easier if GCC were the target compiler rather than trying to support both a new platform and a new compiler / build system at the same time.

Do you have a rough estimate on when this could be coming together? Is this a months from now kind of thing or years down the line?

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [January 14, 2017, 9:38pm UTC](https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250/22 "2017-01-14T21:38:32Z")

</div>

Months, hopefully sooner if I can make time to write a Julep I’ve been intending to formally put together.

---

<div class="post-metadata">

**Author:** ![mingwandroid](https://avatars.discourse-cdn.com/v4/letter/m/e495f1/32.png) [@mingwandroid](https://discourse.julialang.org/u/mingwandroid)\
**Post date:** [August 8, 2019, 12:06pm UTC](https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250/23 "2019-08-08T12:06:51Z")

</div>

> MSYS2 uses a different exception handling variant on 32 bit than every  
> other common mingw-w64 build. You’ll notice that in complicated enough C++  
> code like qt. That’s the main reason we don’t really support MSYS2 in a  
> first class way.

It was the recommendation of the qt-core maintainer that caused us to pick this exception model, so your claim (ok from some years ago) makes me smile! Also, this decision has IMHO, been proven to be a fine one for us to have made. Note, we had high confidence about this because of this recommendation by the qt-core maintainer _and_ the fact that one of the precursor projects to MSYS2 that Alexei and I worked on called QtBuilds used this exception model. It should also be noted that for _many_ years the compilers provided officially with mingw-w64 i686 Qt _also_ use this model.

I am happy to see: [Add mingw-w64-julia package by smalltalkman · Pull Request #5668 · msys2/MINGW-packages · GitHub](https://github.com/msys2/MINGW-packages/pull/5668)

References:  
[https://wiki.qt.io/MinGW-64-bit](https://wiki.qt.io/MinGW-64-bit)

> **[GitHub - Alexpux/Qt-builds: Scripts for building Qt-5.x](https://github.com/Alexpux/Qt-builds)**
>
> Scripts for building Qt-5.x. Contribute to Alexpux/Qt-builds development by creating an account on GitHub.

[Previous page](https://discourse.julialang.org/t/windows-c-binary-compatibility-mingw-vs-msvc/1250.md?page=1)
