我正在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)
安装完成后llvm
,cargo build
成功完成
Zig的github页面上有预构建的LLVM / clang二进制文件:https :
//github.com/ziglang/zig/wiki/Building-Zig-on-Windows
您可以libclang.dll
在bin
文件夹中找到。
当前可用的版本是:
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
也有详细的安装指导,在这里。