使用Visual Studio 2012创建静态libzip

6
我正在尝试使用libzip库构建一个小应用程序。我下载并编译了libzip,参考了这篇文章:

Visual Studio 2010中的libzip

问题在于它动态编译libs,需要zlib.dll和zip.dll同时存在。我想完全静态地编译应用程序,因此不需要额外的dll。有人知道我该如何做吗?
谢谢!
2个回答

7

好的... 这是要做的事情:

您需要进入文件lib\CMakeLists.txt,并在末尾添加以下内容(黑色行):

ADD_LIBRARY(zip SHARED ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES})

ADD_LIBRARY(zipstatic STATIC ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES})

SET_TARGET_PROPERTIES(zip PROPERTIES VERSION 3.0 SOVERSION 3 ) TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARY})

INSTALL(TARGETS zip ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)


这对我来说导致了以下错误:--配置完成 在lib/CMakeLists.txt的173行,CMake错误:(ADD_LIBRARY): 未给出目标的SOURCES:zipstatic - Michel Storms

1

好的... 这是交易:

您需要转到文件 lib\CMakeLists.txt 并在末尾添加 (黑色行中的行) 您需要转到文件 lib\CMakeLists.txt 并在末尾添加 (黑色行中的行)

...

libzip v1.5.1 的正确字符串是:

ADD_LIBRARY(zipstatic STATIC ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES} ${LIBZIP_OPTIONAL_FILES} ${LIBZIP_OPSYS_FILES})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接