pybind11 "Python is 64-bit, chosen compiler is 32-bit"

Periodic Maintenance picture Periodic Maintenance · Jul 30, 2017 · Viewed 8.1k times · Source

I'm trying to compile pybind11 on a Windows machine that has VisualStudio 2015 installed. I also have python 3.5.3 64bit installed, and cmake 2.8.12. I get the error:

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)

I did not "choose" the compiler to be 32-bit, and looking at the CMakeLists.txt, I did not find any place to specify which compiler to run. So how to I tell pybind11/cmake to compile for 64 bit?

Answer

Caleb picture Caleb · Jul 30, 2017

You should specify the 64-bit VS compiler like so:

cmake "/path/to/src/" -G"Visual Studio 14 2015 Win64"

Otherwise it selects the 32-bit by default.