[cfe-dev] [libc++] Compiling with MinGW-w64
Eric Fiselier via cfe-dev
cfe-dev at lists.llvm.org
Wed Mar 22 18:04:42 PDT 2017
On Fri, Mar 17, 2017 at 4:34 PM, Mateusz MikuĊa via cfe-dev <
cfe-dev at lists.llvm.org> wrote:
> Hello,
>
> I'm planing to get libc++ compiling with MinGW-w64, right now without
> patches it fails with:
>
> CMake Error at projects/libcxx/CMakeLists.txt:396 (message):
> C++11 or greater is required but the compiler does not support c++11
>
> It is caused by adding `-nodefaultlibs` flag (it passes it's own check [1]
> <https://github.com/llvm-mirror/libcxx/blob/master/cmake/config-ix.cmake#L27>).
> However many following checks fail due to undefined references, results
> with gcc [2] <https://reviews.llvm.org/P7975> and clang [3]
> <https://reviews.llvm.org/P7976>.
>
CMake seems to be adding system libraries automagically. Specifically it
adds -lgcc_s -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32
-loleaut32 -luuid -lcomdlg32 -ladvapi32.
I'm guessing that these libraries are where the undefined symbols are
coming from, and I suspect the correct fix is to somehow prevent CMake from
adding them.
Hard-coding 0 for LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG allows it go finish
> configuration and fail during build (that's another story).
>
> `-nodefaultlibs` appears several times in libc++ and libc++abi code and
> I'm not sure about cleanest way to fix/workaround it.
>
> Any suggestions?
>
>
> [1] https://github.com/llvm-mirror/libcxx/blob/master/cmake/
> config-ix.cmake#L27
>
> [2] https://reviews.llvm.org/P7975
>
> [3] https://reviews.llvm.org/P7976
>
>
> Thanks,
>
> Mateusz
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170322/3332cf57/attachment.html>
More information about the cfe-dev
mailing list