我正在尝试在Windows 7 64位上使用Python 3.4 64位构建一个带有Python3标志的VRPN服务器,但似乎存在问题。我需要这个用于BlenderVR软件。
这是我的程序:
cmake -G“MinGW Makefiles”
-HD:\ My \ BlenderVR \ plugins \ vrpn
-BD:\ My \ BlenderVR \ plugins \ cmake
-DVRPN_BUILD_PYTHON = OFF
-DVRPN_BUILD_PYTHON_HANDCODED_2X = OFF
-DVRPN_BUILD_PYTHON_HANDCODED_3X = ON
我曾经也添加了这些标志,但它似乎可以找到没有它们的Python
-DPYTHON_INCLUDE_DIR = d:\我\ BlenderVR \必需\ Python3 \包括
-DPYTHON_LIBRARY = d:\我\ BlenderVR \必需\ Python3 \库\ python34.lib
正确找到Python,此操作不会引发任何错误。
[90%]链接CXX共享模块vrpn.pyd
D:/My/BlenderVR/Required/Python3/libs/python34.lib:添加错误 符号:文件格式无法识别
collect2.exe:错误:ld 返回1退出状态
python \ CMakeFiles \ vrpn-python.dir \ build.make:505:食谱 目标'python / vrpn .pyd'失败了mingw32-make [2]:* * * [python / vrpn.pyd]错误1
CMakeFiles \ Makefile2:3247:食谱 目标'python / CMakeFiles / vrpn-python.dir / all'失败 mingw32-make [1]:* * * [python / CMakeFiles / vrpn-python.dir / all]
错误2 Makefile:159:目标'all'的配方失败
mingw32-make:[all]错误2
vprn.pyd 对我未来的工作至关重要。
我发现它需要 libpython34.a 文件(可能)。当我创建并复制到Python3 / libs文件夹时,它的工作和完成没有错误,但是crated vprn.pyd 没有按预期工作。
我需要的是让 import vrpn 在python中使用这个简单的测试(附加 vrpn.pyd 构建的路径):
import sys
sys.path.append('D:/My/BlenderVR/plugins/cmake/python')
import vrpn
它暂时停留在我的整个计算机上,然后弹出Python已停止工作。
我怀疑问题发生在我创建的 libpython34.a 文件中:
gendef python34.dll (in Windows/System32)
dlltool -D python34.dll -d python34.def -l libpython34.a
我不知道如何获取libpython文件。我尝试过各种版本的CMake和MinGW(如MinGWPy,TDM,w64)和许多CMake标志。我能够使用32位Python使其工作,但我需要64位版本,否则它不能与BlenderVR环境一起使用。
我知道这是一个非常具体的问题,起初可能有点令人困惑,但我不知道怎么回事。我会很高兴能有所帮助。谢谢。
答案 0 :(得分:1)
mingwpy应该与pip一起安装(直到它在PYPI正式发布):
pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy
所有必需的导入文件都被自动复制到python \ libs文件夹中。 如果python \ Scripts在PATH中,它应该开箱即用。
你必须确保Blender Python配备了两个导入文件
D:\My\BlenderVR\Required\Python3\libs\libpython\libpython34.dll.a
D:\My\BlenderVR\Required\Python3\libs\libpython\libmsvcr100.a