因此,我已经尝试构建libarchive几天了,遵循本指南和许多其他线程:https://github.com/libarchive/libarchive/wiki/BuildInstructions。
我想要一个带有LZMA、zlib和bzip2支持的静态库。我也有静态版本的这些(库的)
我只是不能让它正常工作。我使用CMAKE为VS2010和NMAKE生成make文件。这两个选项的编译都很好,但是当我尝试使用生成的archive_static.lib时,在我的项目中我得到了大量未解决的外部结果。编译库的.dll版本不会产生未解决的外部问题,但是它会开始请求zlib.dll、bzip2.dll等,我没有这些,也不想使用。
我想我需要用cmake设置一些旗子,但我不知道该如何做。
任何帮助都是非常感谢的。http://www.libarchive.org/
发布于 2013-09-11 01:37:05
我不能确定这里是否会发生这种情况,但请记住,当将二进制文件链接到静态库时,它的外部依赖项不一定嵌入到静态库中,这意味着您可能需要提供程序通过libarchive间接依赖的静态库,在您的示例中,这是明确的。
此外,在连接静态和动态的窗口时,windows上也有一些混淆,因为在这两种情况下,您都提供了一个.lib文件,因此很容易将事情混合起来,提供动态链接的.lib,而不是静态版本。如果您这样做,链接器可能拒绝链接您的程序(尤其是在boost中),或者链接得很好,然后,在执行时,OS将需要相应的..dll。
https://stackoverflow.com/questions/18730876
复制相似问题