【问题标题】:Where can I find the SVN .lib files?在哪里可以找到 SVN .lib 文件?
【发布时间】:2013-06-11 00:49:05
【问题描述】:

我正在尝试编写一个包装 SVN 的应用程序。我已经下载了它的二进制文件,我发现的只是 DLL。

在哪里可以找到 .lib 文件?还是我需要使用 LoadLibrary 并手动查找每个方法?还是我只需要包含 SVN 源代码,维护起来很麻烦。

编辑:

在关注此问题后,我找到了一个包含所有 .lib 和包含文件的下载文件,其他任何试图找到答案的人都应该看这里:

对于可能正在寻找相同内容的其他人,这里有一个下载,其中包含您想要的一切!

Are there Windows API binaries for Subversion or do I have to build SVN to call the API from Windows C++?

【问题讨论】:

    标签: c++ svn dll


    【解决方案1】:

    我不认为你想要的东西是现成的,因为很少有人使用它。您正在寻找 svn 的开发人员版本。

    您最好的机会是下载 svn 的源代码并自己编译。这样,将生成 lib 文件,您将能够链接它们。

    编辑:您的另一个选择是在 SVN 周围使用另一层包装器并使用类似rapidSVN API 的东西。这将公开最常见的 svn 功能,您不必处理 svn 源代码。

    EDIT2:我认为他们搬到了 github https://github.com/RapidSVN/RapidSVN

    【讨论】:

    • 谢谢,我会看看它们,这会有所帮助,因为它无论如何都是 C++。
    • 妈的,下载好像被下架了,SVN repo需要密码。
    • 啊,再次感谢!不幸的是,它是 GNU GPL,所以我可能无法使用它,但我非常感谢您的帮助!
    • 我的理解是链接到 GPL 是可以的。 :en.wikipedia.org/wiki/GPL_linking_exception 只是不要直接包含源代码,并在您的许可证中包含一个通知,说明您正在链接到 GPL 项目。
    • MySQL 就是一个很好的例子,它可以在项目中使用,但不能直接从中复制
    【解决方案2】:

    DLL 是库,但它们是动态库,在运行时加载和执行。但是,Lib 文件是已加载到编译器中并用于编译二进制文件的库。在您的情况下,不会有 lib 文件,因为 .exe 二进制文件已经内置了 lib。其中,您确实获得了 DLL,因为它们没有内置到二进制文件中,而是在执行期间加载到二进制文件中的某个位置。

    没有理由在二进制下载中包含 .lib,因为二进制不再需要它们来运行。您需要 .lib 文件的唯一原因是如果您拥有其余的源代码以便再次构建自己的 .exe。

    【讨论】:

    • 我的理由是,如果我要针对 SVN api 进行开发,并且我有所有要包含的标头,我仍然需要在某个地方进行函数定义,否则我会得到链接器错误。跨度>
    • 这可能是真的,但你说你下载了它的二进制包,这通常意味着你只需要运行它的东西。如果您想要库和标头(标头是否包含在该包中?我认为这很奇怪)您将需要获得他们的东西的开发人员 SDK(如果他们甚至有的话)。
    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多