【发布时间】:2021-10-21 13:31:22
【问题描述】:
我正在学习如何在 Windows 上使用 llvm 工具链。 我使用以下 cmake 命令编译并安装了 llvm
cmake -S llvm -B build -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_USE_LINKER=lld -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX="C:\llvm" -Thost=x64
在c:\llvm 中安装llvm 的构建文件夹中创建的解决方案中运行INSTALL 项目。
为了测试我的 llvm 安装,我创建了一个新的 Visual Studio 项目并在项目根目录中放置了一个 Directory.build.props 文件,其中包含以下内容:
<Project>
<PropertyGroup>
<LLVMInstallDir>C:\llvm</LLVMInstallDir>
<LLVMToolsVersion>14.0.0</LLVMToolsVersion>
</PropertyGroup>
</Project>
我在项目设置中将项目工具链设置为LLVM (clang-cl),成功编译了一个hello world程序。
现在我想将 llvm 用于它的预期用途并玩一些通行证。所以我下载了https://github.com/tsarpaul/llvm-string-obfuscator。
运行cmake -Bbuild -DLLVM_DIR=C:\llvm\lib\cmake\llvm\ 在.\build 中生成了一个Visual Studio 解决方案。
到目前为止,我坚持得很好。这类似于编译 llvm 本身所需的步骤。
但是在生成的解决方案中运行 BUILD_ALL 项目给了我 105 个链接器错误。
我已将整个错误输出粘贴到此处:https://pastebin.com/TAizbAEi。
我感觉 C:\llvm\lib 中所需的库对 Visual Studio 不可见。但我不知道如何进行。谁能指出我如何正确使用 llvm 和 Visual Studio 的正确方向?
【问题讨论】:
标签: visual-studio cmake clang llvm