首页 文章

在Windows上使用64位64位构建VRPN服务器

提问于
浏览
1

我正在尝试在Windows 7 64位上使用Python 3.4 64位构建一个带有Python3标志的VRPN服务器,但似乎存在问题 . 我需要这个用于BlenderVR软件 .

这是我的程序:

  • 1)我使用 CMake 来创建makefile(我也尝试了不同的文件) . 我用这个命令做(这些标志应该在那里,但结果似乎是相同的,没有它们):

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:\ My \ BlenderVR \ Required \ Python3 \ include -DPYTHON_LIBRARY = D:\ My \ BlenderVR \ Required \ Python3 \ libs \ python34.lib

正确找到Python,此操作不会引发任何错误 .

  • 2)然后我使用 mingw32-make.exe 来构建它,我收到此错误:

[90%]链接CXX共享模块vrpn.pyd D:/My/BlenderVR/Required/Python3/libs/python34.lib:错误添加符号:文件f ormat not recognized 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:目标配方'全部'失败了mingw32-make:[全部]错误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环境一起使用 .

我知道这是一个非常具体的问题,起初可能有些令人困惑,但我不知道怎么回事 . 我会很高兴能有所帮助 . 谢谢 .

1 回答

  • 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
    

相关问题