pybind11“Python是64位,选择编译器是32位”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pybind11“Python是64位,选择编译器是32位”相关的知识,希望对你有一定的参考价值。
我正在尝试在安装了VisualStudio 2015的Windows机器上编译pybind11。我还安装了python 3.5.3 64bit,以及cmake 2.8.12。我收到错误:
CMake Error at tools/FindPythonLibsNew.cmake:122 (message):
Python config failure: Python is 64-bit, chosen compiler is 32-bit
Call Stack (most recent call first):
tools/pybind11Tools.cmake:16 (find_package)
CMakeLists.txt:28 (include)
我没有“选择”编译器为32位,并且查看CMakeLists.txt,我没有找到任何指定运行哪个编译器的地方。那么如何告诉pybind11 / cmake为64位编译?
答案
您应该像这样指定64位VS编译器:
cmake "/path/to/src/" -G"Visual Studio 14 2015 Win64"
否则,它默认选择32位。
另一答案
如果您使用Ninja生成器并且出现此错误,请确保在64位模式下运行VS Dev命令提示符:
VsDevCmd.bat arch=amd64 && cmake <options> ...
以上是关于pybind11“Python是64位,选择编译器是32位”的主要内容,如果未能解决你的问题,请参考以下文章
from _dlib_pybind11 import * ModuleNotFoundError: No module named '_dlib_pybind11'