代码之家  ›  专栏  ›  技术社区  ›  Dana the Sane

如何修复省略所需C运行时库的第三方库?

  •  0
  • Dana the Sane  · 技术社区  · 14 年前

    我正在为一个需要pyopengl包的项目编写一个NSI安装程序,但是这个包的安装失败,因为我的系统不包含 mscvr71.dll (与C运行时库)。根据 KB326922 ,此库应该用pyopengl打包。

    我的问题是,纠正这个问题的最安全的方法是什么,以便我可以在安装程序中安装pyopengl dep?我当然不想在安装期间将文件放到system32中,而且我不知道包含此文件的任何更新(vs本身除外)。

    编辑:

    • 我无法轻松地重新打包pyopengl以包含缺少的dll。我没有安装vs,不确定如何重建包和安装程序。
    3 回复  |  直到 14 年前
        1
  •  1
  •   Dana the Sane    14 年前

    您可以将库与pyopengl的安装程序放在同一目录中,该目录是dll搜索路径中的第一个目录。 mscvr71.dll 包含在其他应用程序中,比如Java JRE,这样您就可以有一个安全的拷贝用于您的应用程序中。 Program Files 目录(不要使用来自不受信任源的dll)。

        2
  •  1
  •   Robert Harvey Isaac Blanco    14 年前

    假设引用中有mscvr71.dll,右键单击mscvr71.dll文件,选择 性质 ,并更改 本地复制 属性到 True .

        3
  •  1
  •   Jonathan Hartley Zombie    14 年前

    请参阅Py2Exe教程,去年我对其进行了扩充,以准确描述不同版本的python需要哪个版本的dll文件,从何处获取它们,以及如何包含它们(尤其是对于需要清单文件等复杂的较新版本):

    http://www.py2exe.org/index.cgi/Tutorial#Step5