Windows是否有预建的clang库?

ygr*_*oel 8 windows dll clang

我正在Linux上使用clang库开发工具,我想将此工具移植到Windows。

在Linux上,我可以使用LLVM存储库中的Clang来安装Clang apt-get clang-6.0-dev,只需将其工具与链接即可-lclang。我不需要自己编译LLVM和Clang。

有没有办法在Windows上做类似的事情,还是我需要自己编译Clang库?

我能找到的所有与Clang相关的文章都是关于将clang用作工具而非库的。

我已经从LLVM网站安装了Clang和LLVM的预构建可执行文件,这些文件与mingw结合使用时效果很好。但是,Windows的下载文件似乎没有将Clang库作为单独的文件(DLL)包含在内,并且链接-lclang导致链接器错误。

如果没有用于Windows的预构建库,最好的处理方式是什么,最好是使用mingw而不是MSVC?

Aus*_*yde 12

对于任何想libclang在自己的系统上安装这个问题的人来说,choco llvm 软件包libclang似乎可以正确安装。我不能说这是否足以实际链接到这个 C/C++ 库,但它适用于我的情况。

只需在提升的命令提示符或 powershell 中运行此命令:

choco install llvm
Run Code Online (Sandbox Code Playgroud)

您可能需要运行refreshenv或打开一个新的控制台来获取工具。

就我而言,为了帮助未来的谷歌用户(因为我在其他地方找不到简单的答案),我的问题特别是在尝试编译一个使用板条箱的 Rust 项目时onig_sys

   Compiling onig_sys v69.2.0
error: failed to run custom build command for `onig_sys v69.2.0`

Caused by:
  process didn't exit successfully: `[redacted]\target\debug\build\onig_sys-b53394f57ee5e2c5\build-script-build` (exit code: 101)
--- stdout
cargo:warning=couldn't execute `llvm-config --prefix` (error: The system cannot find the file specified. (os error 2))
cargo:warning=set the LLVM_CONFIG_PATH environment variable to a valid `llvm-config` executable

--- stderr
thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any valid shared libraries matching: [\'clang.dll\', \'libclang.dll\'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', src\libcore\result.rs:1188:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Run Code Online (Sandbox Code Playgroud)

安装完成后llvmcargo build成功完成


val*_*ano 9

Zig的github页面上有预构建的LLVM / clang二进制文件:https :
//github.com/ziglang/zig/wiki/Building-Zig-on-Windows

您可以libclang.dllbin文件夹中找到。

当前可用的版本是:

  • llvm+clang-6.0.0-win64-msvc-release.tar.xz
  • llvm+clang-7.0.0-win64-msvc-release.tar.xz
  • llvm+clang-8.0.0-win64-msvc-release.tar.xz

也有详细的安装指导,在这里