我正在尝试在安装了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位编译?
答案 0 :(得分:3)
您应该像这样指定64位VS编译器:
from pyspark.sql.functions import lpad
>>> df.select('id',lpad(df['value'],4,'0').alias('value')).show()
+---+-----+
| id|value|
+---+-----+
| 1| 0103|
| 2| 1504|
| 3| 0001|
+---+-----+
否则默认选择32位。
答案 1 :(得分:1)
如果使用的是Ninja生成器,并且出现此错误,请确保在64位模式下运行VS Dev命令提示符:
@Query("SELECT u.username FROM User u WHERE u.username LIKE %?1%")
List<String> findUsersWithPartOfName(@Param("username") String username);
答案 2 :(得分:0)
您可以执行以下操作:
cmake .. -G"Visual Studio 14 2015 Win64"
cmake --build . --config Release --target check
或基于“为Windows编译测试用例”部分here的引用:
如果所有测试均失败,请确保Python二进制文件和测试用例 会针对相同的处理器类型和位进行编译(即i386 或x86_64)。您可以将x86_64指定为 使用cmake -A x64生成Visual Studio项目。
您可以:
cmake -A x64 ..
cmake --build . --config Release --target check