cmake - 在针对 MinGW-w64 的 Windows 下使用 CMake 和 Clang
问题描述
我正在尝试 CMake 一个项目,与
-DCMAKE_CXX_COMPILER:STRING=C:/Dev/LLVM-10.0.0/bin/clang++.exe
-DCMAKE_CXX_COMPILER_TARGET:STRING=x86_64-w64-mingw32
但我得到了错误:
“C:/Dev/LLVM-10.0.0/bin/clang++.exe”以 MSVC ABI 为目标,但具有类似 GNU 的命令行界面。这是不支持的。请改用“clang-cl”,例如通过在环境中设置“CXX=clang-cl”。此外,使用 MSVC 命令行环境。
如果我在 shell 上运行:clang++.exe -target x86_64-w64-mingw32 -v
我得到:
clang version 10.0.0
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:\Dev\LLVM-10.0.0\bin
这表明clang支持指定的目标。
为什么 clang 会错误地将 msvc 识别为目标?
解决方案
您可以尝试使用来自http://winlibs.com/的 LLVM/clang吗?它没有任何对 MSVC 的引用。
推荐阅读
- php - 如何在 PHP 中显示下个月和明年?
- r - 从元素列表到化学式
- scala - 使用 spark HADOOP_HOME 和 hadoop.home.dir 查询 hbase 未设置
- angular - 许多元素上的 ngClass 使网站非常慢
- python - 将 JWT 与 TurboGears2 结合使用
- pdftk - 无法使用 pdftk 获得程序集权限
- wordpress - Woocommerce 我的帐户页面侧边栏仅以网站的主要语言可见,以第二语言不可见
- c# - 如何创建匿名对象作为 LINQ 表达式
- java - Kotlin 中的 Java 接口对象
- python - 在日期框中查找单元格的索引