将 VCPKG 与适用于 Windows ARM64 的 cmake 和 Qt 6 一起使用

发布于 2025-01-10 11:35:44 字数 789 浏览 0 评论 0原文

Qt 6.2 引入了 Windows on Arm 支持 (https://bugreports.qt.io/browse/QTBUG- 85820)。我尝试使用 Qt Creator 创建一个新的 cmake 项目,一切正常。然后我想使用 vcpkg 添加一些外部包到我的项目中。将 vcpkg 与 cmake 结合使用的标准方法是使用 CMAKE_TOOLCHAIN_FILE 变量(如前所述 此处。但是,当我单击 Qt Creator 中的项目设置(项目 > 构建)时,Qt Creator 似乎已经设置了CMAKE_TOOLCHAIN_FILE 变量到另一个文件

Qt Creator CMake settings for Qt 6.3.0 MSCV 2019 ARM64

据推测,这样做是为了可以从 x64 机器交叉编译 ARM64 二进制文件但是,这使我无法在 Qt 项目中设置 vcpkg。 CMake 是否支持多个工具链文件,或者是否有适合我的场景的替代设置。 ?

Qt 6.2 introduced Windows on Arm support (https://bugreports.qt.io/browse/QTBUG-85820). I tried to create a new cmake project set up using Qt Creator and everything works fine. Then I wanted to add some external packages to my project using vcpkg. The standard way to use vcpkg with cmake is using the CMAKE_TOOLCHAIN_FILE variable (as mentioned here. However, when I clicked on project settings in Qt Creator (Projects > Build) it seems that Qt Creator has already set up the CMAKE_TOOLCHAIN_FILE variable to another file

Qt Creator CMake settings for Qt 6.3.0 MSCV 2019 ARM64

Presumably, this is done so that it is possible to cross-compile an ARM64 binary from a x64 machine. However, this prevents me from setting up vcpkg within my Qt project. Is there a way to get around this issue? Does CMake support multiple toolchain files or is there an alternative setup for my scenario?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烂柯人 2025-01-17 11:35:44

我发现 VCPKG 提供了一种实现此目的的方法,如下所述 此处

要将外部工具链文件与使用 vcpkg 的项目一起使用,您可以在配置行上设置 cmake 变量 VCPKG_CHAINLOAD_TOOLCHAIN_FILE:

cmake ../my/project \
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=../my/project/compiler-settings-toolchain.cmake

因此,就我而言,我可以使用 VCPKG_CHAINLOAD_TOOLCHAIN_FILE 选项来 qt 工具链文件。

I found out that VCPKG provides a way to achieve this as explained here:

To use an external toolchain file with a project using vcpkg, you can set the cmake variable VCPKG_CHAINLOAD_TOOLCHAIN_FILE on the configure line:

cmake ../my/project \
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \ -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=../my/project/compiler-settings-toolchain.cmake

So in my case, I can just qt toolchain file using VCPKG_CHAINLOAD_TOOLCHAIN_FILE option.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文