在Windows上使用libc++吗? [英] Use libc++ on Windows?

查看:31
本文介绍了在Windows上使用libc++吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

libc++是否支持在Windows上使用Clang/LLVM作为本机进行引用/包含和编译?对于原住民来说,我的意思是不依赖于明威和西格温。我没有找到很多关于这方面的文档,但我认为应该支持它,因为clang for Windows已经发布了很长一段时间。

推荐答案

仅更新。现在有试验性支持(2018年初):

https://libcxx.llvm.org/docs/BuildingLibcxx.html#experimental-support-for-windows

(来自链接)

由于您已签出忍者和libcxx/llvm,因此可以通过

编译libcxx
> cmake -G Ninja                                                                    ^
        -DCMAKE_MAKE_PROGRAM=/path/to/ninja                                         ^
        -DCMAKE_SYSTEM_NAME=Windows                                                 ^
        -DCMAKE_C_COMPILER=clang-cl                                                 ^
        -DCMAKE_C_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows"   ^
        -DCMAKE_CXX_COMPILER=clang-cl                                                ^
        -DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.00 --target=i686--windows" ^
        -DLLVM_PATH=/path/to/llvm/tree                                              ^
        -DLIBCXX_ENABLE_SHARED=YES                                                  ^
        -DLIBCXX_ENABLE_STATIC=NO                                                   ^
        -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=NO                                     ^
        path	olibcxx
> /path/to/ninja cxx
 
自18年4月23日起,它将安装到Program Files(X86)中,即使编译为x86-64.(可以通过将上面的i686更改为x86_64来实现)。

2020年11月更新:我现在使用一个名为llvm-mingw的包。

此软件包包括带有包装器的clang编译器工具链,以支持各种GCC风格的可执行文件(例如gcc.exe、g++.exe、x86_64-w64-mingw32-gcc.exe),并且可以开箱即用来针对mingwlibc++进行编译(您不必单独安装mingw,mingw库随软件包一起提供)。

llvm-mingw还很年轻,但具有mingw-w64的大部分特征。未实现的功能包括:

  • lld链接到DLL(这是gnu ld的功能,但不是llvm实现)
  • lldb没有python包装器,所以很多IDE无法使用调试器。Visual Studio代码似乎有它自己的链接,所以LLDB SOE可以使用VS代码。人们现在正在做这件事。

可在作者的GitHub Repo上获得发行版。我的winlua.net站点上有一个可用的二进制安装程序。

这篇关于在Windows上使用libc++吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆