【问题标题】:How to build xmlsec on Windows如何在 Windows 上构建 xmlsec
【发布时间】:2012-09-20 07:01:16
【问题描述】:

我正在尝试在 Windows 上构建 xmlsec...我 不是 一位经验丰富的 C/C++ 开发人员,并且如果有类似“”的内容,我并不真正熟悉构建过程make ... make install" 并不能解决问题。

xmlsec 带有一个 Win32 子目录,一个不错的 ECMAScript configure.js,它带有一组可选的参数和一个自述文件,它解释了在运行配置后,“nmake ... nmake install”应该做的伎俩。 (显然这不是相当那么容易,否则我不会在这里发帖!)

xmlsec 还依赖于许多其他库(参见here 的图形)。我已经下载了这些库的源代码。

我的问题是我不知道如何安排这些资源,或者告诉 configure.js 脚本什么,以使构建工作。

例如,nmake 进程抱怨它找不到“iconv.h”(iconv 是必需的库之一),这并不奇怪,因为没有。相反,有一个“iconv.h.in”和一个“iconv.h.build.in”......我不知道该怎么做生成所需的“iconv.h”。

(我在命令提示符下使用 MS Visual Studio 2010(我认为是推荐的方法。)

有人知道怎么做吗?非常感谢任何帮助。

TIA

迈克·皮特

【问题讨论】:

    标签: windows build xmlsec


    【解决方案1】:

    您是否尝试过使用 Mingw32 编译器的 Msys?在 Msys 中,您可以执行 make 和 make install 技巧。我在编译 xmlsec 时成功使用了 Msys。如果你想使用 Msys 有困难,我可以帮忙。

    无论如何,一般情况下,Zlatkovic提供的预编译文件夹(即C:\iconv\include\iconv.h)中必须有一个iconv.h文件。您可能需要再次下载该文件夹。在弄清楚所有依赖项在哪里之后,将路径放在环境路径中。供您参考,我曾经尝试过 configure.js 但没有成功。希望你比我幸运:D

    【讨论】:

    • 嗨 Kristine - 我在命令提示符下使用了 MS Visual Studio。我在某处找到了一个可以完成这项工作的 iconv.h 版本(我认为是在网络上......或者可能在我下载的许多 zip 文件之一中)。我确实通过了 configure.js 路线,使用了 Aleksey 的 mycfg.bat 的修改版本,然后是 nmake。我正沿着 Mingw32 路线前进(到同时安装了该路线和 Cygwin),但后来我绊倒了 mycfg.bat 文件,事情开始变得更加清晰......一旦我在正确的地方拥有了所有正确的位这一切都奏效了。不过谢谢你的提议。
    • 你好 Kristine - 事实证明我使用 Visual Studio 的方法有一个小缺陷:它链接到错误的运行时 DLL(它需要 msvcrt.dll 并且在尝试了多个版本的 VS 之后我不能得到一个与之相关的)。所以我现在在 MSys 中使用 MinGW,但我遇到了问题。你能告诉我你如何设置东西以获得干净的构建吗? TIA。迈克
    • 您能描述一下您遇到的问题吗?您是否尝试运行“make clean”来清除所有以前的“构建”?
    • Kristine - 见下文...这个回复框似乎没有字符了(令人烦恼的是现在还可以)。
    • 上次,我还必须使用 libxslt 的 src,而 libxml2 和 openssl 对于配置部分来说是可以的。但我没有看到 dl.c 错误。有时,下载过程会导致包中的某些内容失败。试试看,祝你好运:D
    【解决方案2】:

    嗨 Kristine (@Kristine T) - (感谢您回复我!)

    我之前没有进行“make clean”,但现在已经这样做了(“make clean”,然后是“make” - 虽然结果没有变化)。

    我遇到的“make”问题是它在编译“dl.c”时抛出错误,说“PACKAGE”未定义(第 295 行)。

    我在使用 libxml2 的编译版本时也遇到了问题——“配置”总是说找不到它(它在那里,但是......),所以我一直在使用 --with-libxml-src =... 要配置的参数,为其提供 libxml2 的完整源代码,使其至少可以完成配置。

    我在使用 openssl 或 libxslt 时没有相同的问题,我可以告诉 configure 有关已编译的版本(使用 --with-XXX={path-to-dir},或者只是省略 ={path} 位,在这种情况下,它似乎找到了 MinGW 自己的版本,但这不适用于 libxml2。

    迈克

    【讨论】:

      【解决方案3】:

      你不需要构建xmlsec,你可以直接从这个链接下载wheel文件 https://github.com/mehcode/python-xmlsec/releases

      它安装了所有依赖项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-22
        • 2011-08-22
        • 2017-07-22
        • 2014-11-23
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多