2017-07-30 453 views
1

我想在安裝了VisualStudio 2015的Windows計算機上編譯pybind11。我還安裝了python 3.5.3 64bit,以及cmake 2.8.12。我得到的錯誤:pybind11「Python是64位,選擇編譯器是32位」

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位編譯?

+0

您必須從VS2015(如果您從那裏編譯)或從命令行提示符中選擇編譯器版本。另外,強烈建議升級你的cmake版本。 – utopia

+0

@utopia,我從命令行構建,如何「選擇」編譯器是64而不是32?我需要添加一些東西到CMakeLists.txt文件嗎? –

回答

2

您應該指定64位編譯器VS像這樣:

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

否則,它在默認情況下選擇了32位。

+0

確定,雖然它需要一些鍛鍊:comman應該是cmake .. .. -G「Visual Studio 14 2015 Win64」並且cmake應該升級到3.x,因爲2.8.12不知道VS 2015.(pybind11 docs指出需要2.8.12) –

相關問題