python - MinGW - 如何强制使用 64 位编译器而不是 32 位编译器 (Windows)
问题描述
我正在使用 pybind11 在 Windows 上运行此命令:
>cmake . -G "MinGW Makefiles"
这个命令给了我一个错误:
Python config failure: Python is 64-bit, chosen compiler is 32-bit
Call Stack (most recent call first):
lib/pybind11/tools/pybind11Tools.cmake:16 (find_package)
lib/pybind11/CMakeLists.txt:33 (include)
是的,我看过这篇文章,所以请不要将其标记为重复。它不同,因为我正在尝试使用 MinGW,而这篇文章中的答案都使用 Visual Studio。我的目标是使用 pybind11 生成 .pyd 文件,但是编译 C++ 源文件会给我一些.vcxproj
我无法使用的奇怪文件。
请教我如何正确指定 64 位或 32 位的 MinGW,以便我可以生成 .pyd 文件。
解决方案
除非您非常小心,否则混合 32 位和 64 位迟早会导致麻烦,我建议对 Windows 32 位和 Windows 64 位使用单独的工具链。
我建议从https://winlibs.com/获取这些工具链的独立版本
MinGW Makefiles 有点慢,所以为了加快速度,你也可以考虑使用 Ninja 代替(CMake 标志-GNinja
)。
推荐阅读
- azure-devops - Azure 板中的订单列
- tomcat - Tomcat 连接池 MBean 并不总是出现在扫描中
- floating-point - 浮点数的逻辑运算(使用 C 和 python)
- html - 如何将 bootstrap 5 默认菜单更改为画布外菜单?
- angular-material - 角材料反应形式。根据下拉选择禁用复选框
- consul - 在 Nomad UI 中找不到 Nomad 客户端
- javascript - javascript – 对参考书目的多个级别的数组进行排序
- apache - Htaccess 用参数值重写
- python - python程序创建了一个谷歌幻灯片演示,但结果是空的
- c# - 通过帖子将值传递给部分视图