- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 cmake 文件要下载、构建和安装 zlib:
cmake_minimum_required ( VERSION 2.8.7 )
include (ExternalProject)
if(UNIX)
# An external project for zlib
SET (GIT_URL https://github.com/madler/zlib.git)
SET (ZLIB_INSTALL ${CMAKE_CURRENT_BINARY_DIR})
SET (ZLIB_INCLUDE ${CMAKE_BINARY_DIR}/include/zlib)
SET (ZLIB_STATIC ${CMAKE_BINARY_DIR}/lib/libz.a )
ExternalProject_Add(zlib
PREFIX zlib
GIT_REPOSITORY ${GIT_URL}
INSTALL_DIR ${ZLIB_INSTALL}
PATCH_COMMAND ${CMAKE_COMMAND} -E remove <SOURCE_DIR>/zconf.h
BUILD_IN_SOURCE 1
PATCH_COMMAND ""
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --includedir=${ZLIB_INCLUDE}
)
SET (ZLIB_INCLUDE_DIR ${ZLIB_INSTALL}/include/zlib)
SET (ZLIB_LIBRARY "${ZLIB_INSTALL}")
ADD_LIBRARY (ZLIB_LIB STATIC IMPORTED DEPENDS zlib)
SET_TARGET_PROPERTIES (ZLIB_LIB PROPERTIES IMPORTED_LOCATION "${ZLIB_STATIC}")
endif(UNIX)
- zlib
- contrib
- minizip
- ....
- ...
- ...
cmake_minimum_required(VERSION 2.8)
project(minizip)
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
set(BUILD_SHARED_LIBS OFF)
find_package (ZLIB REQUIRED)
if (ZLIB_FOUND)
set(ZLIB_LIBRARY ${CMAKE_BINARY_DIR}/ZLIB/src/ZLIB/contrib)
SET (minizip ${CMAKE_BINARY_DIR}/lib/minizip)
if(CMAKE_HOST_APPLE)
set(PLATFORM __APPLE__)
elseif(CMAKE_HOST_UNIX)
set(PLATFORM unix)
elseif(CMAKE_HOST_WIN32)
set(PLATFORM _WIN32)
else(CMAKE_HOST_APPLE)
message(FATAL_ERROR "Not supported Platform")
endif(CMAKE_HOST_APPLE)
add_definitions(-D${PLATFORM})
set(SOURCE
${ZLIB_LIBRARY}/minizip/ioapi.c
${ZLIB_LIBRARY}/minizip/miniunz.c
${ZLIB_LIBRARY}/minizip/minizip.c
${ZLIB_LIBRARY}/minizip/unzip.c
${ZLIB_LIBRARY}/minizip/zip.c
)
if(WIN32)
set(SOURCE ${SOURCE} ${ZLIB_LIBRARY}/minizip/iowin32.c)
endif(WIN32)
set(HEADERS
${ZLIB_LIBRARY}/minizip/crypt.h
${ZLIB_LIBRARY}/minizip/ioapi.h
${ZLIB_LIBRARY}/minizip/miniunz.h
${ZLIB_LIBRARY}/minizip/unzip.h
)
if(WIN32)
set(HEADERS ${HEADERS} ${ZLIB_LIBRARY}/minizip/iowin32.h)
endif(WIN32)
add_library(minizip ${SOURCE} ${HEADERS})
target_link_libraries(minizip PUBLIC "-static" ZLIB_STATIC)
add_dependencies ( minizip zlib)
install(
TARGETS minizip EXPORT minizip-exports
INCLUDES DESTINATION "include"
RUNTIME DESTINATION "bin"
LIBRARY DESTINATION "lib"
ARCHIVE DESTINATION "lib"
)
install(
FILES ${HEADERS}
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/include/minizip"
)
ADD_LIBRARY (MINIZIP_LIB STATIC IMPORTED DEPENDS minizip)
SET_TARGET_PROPERTIES (MINIZIP_LIB PROPERTIES IMPORTED_LOCATION ${minizip})
cmake ..
Make Error at modules/minizip.cmake:50 (add_library): Cannot find source file:
/home/lais/Imagens/agent/build/ZLIB/src/ZLIB/contrib/minizip/ioapi.c
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx Call Stack (most recent call first): CMakeLists.txt:59 (include)
CMake Error: Cannot determine link language for target "minizip". CMake Error: CMake can not determine linker language for target: minizip
cmake_minimum_required( VERSION 2.8.7 )
project( project )
# version number
set ( VERSION_MAJOR 0 )
set ( VERSION_MINOR 0 )
# cpr requires c++11
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++ -static-libgcc")
# src : main + jsoncpp library
file ( GLOB SOURCES src/project/*.cpp )
# src : collect functions - depend on OS
if ( WIN32 )
file ( GLOB SOURCES ${SOURCES} src/project/windows/*.cpp )
else () # if( UNIX )
file ( GLOB SOURCES ${SOURCES} src/project/linux/*.cpp )
endif ()
# src : curl requests
# options for cpr
# avoid experimental use of openssl
option( CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" OFF )
# avoid building tests
option( BUILD_CPR_TESTS "Set to ON to build cpr tests." OFF )
# options for curl
# avoid building tests
option( BUILD_CURL_TESTS "Set to ON to build cURL tests." OFF )
# avoid running tests - set ON again in download version or if errors occur
option( RUN_CURL_TESTS "Set to ON to run cURL tests." OFF )
add_subdirectory ( lib/cpr )
include_directories ( ${CPR_INCLUDE_DIRS} )
include_directories ( ${CURL_INCLUDE_DIRS} )
# src : DtWinVer - Windows Version/Edition class
if ( WIN32 )
add_subdirectory ( lib/dtwinver )
endif ()
# headers
include_directories ( "include" )
include_directories ( "${CMAKE_BINARY_DIR}/include" )
# scr = libboost
include ( "modules/boost.cmake" )
# src = zlib
include ( "modules/zlib.cmake" )
# src = minizip
include ( "modules/minizip.cmake" )
# compile
set ( CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin" )
add_executable ( project-v${VERSION_MAJOR}.${VERSION_MINOR} ${SOURCES} )
target_link_libraries ( project-v${VERSION_MAJOR}.${VERSION_MINOR} ${CPR_LIBRARIES} ${CURL_LIBRARIES} ${FILESYSTEM_LIB} ${SYSTEM_LIB} ${REGEX_LIB} ${PROGRAM_OPTIONS_LIB} ${ZLIB_STATIC} ${minizip})
add_dependencies ( project-v${VERSION_MAJOR}.${VERSION_MINOR} Boost)
add_dependencies ( project-v${VERSION_MAJOR}.${VERSION_MINOR} zlib)
add_dependencies ( project-v${VERSION_MAJOR}.${VERSION_MINOR} minizip)
if ( WIN32 )
target_link_libraries ( project-v${VERSION_MAJOR}.${VERSION_MINOR} dtwinver )
else ()
# libudev
target_link_libraries ( project-v${VERSION_MAJOR}.${VERSION_MINOR} udev )
endif ()
最佳答案
看起来你的源包不完整。minizip
只是一个简单的文件minizip.c
.为什么需要cmake
?只需编译它并链接到 zlib
一切都会好起来的。
关于c++ - 如何使用 zlib 安装 minizip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43784532/
我正在使用 MiniZip 解压缩 iPhone 项目中的文件。一切正常,但我在这条线上的 MiniZip 代码中发现仪器泄漏: 解压.c第493行 s=(unz_s*)ALLOC(sizeof(un
我有一个 vector (它只是一个字符数组的包装器)作为输入。 pkzip 是使用 c# sharpZipLib 创建的。 我将数据存储到一个文件中,该文件通过已 check out 的十六进制编辑
我正在尝试使用 miniunzip 来提取一些文件。它适用于 Linux。在 Windows 上,它不会抛出任何错误,但如果文件是可执行的,则生成的二进制文件将不起作用。我收到一个消息窗口,其中包含有
我正在搜索如何使用 minizip 从内存缓冲区打开存档。 我从他们的页面 http://www.winimage.com/zLibDll/minizip.html 找到了 ioapi_mem_c.z
对于一个项目来说,必须读取一些 zip 文件。一切都很好,但是什么时候想从 zip 文件中的文件夹中读取这是行不通的。或者我只是不知道 zip 在 C++ 中是如何工作的。我在互联网上搜索过,找不到答
我正在使用 Zlib 的 Minizip 程序。我正在尝试将文件添加到当前的 zip 文件中。我发现我可以使用以下函数 append zip 文件: extern zipFile ZEXPORT zi
zlib之间有什么关系?和迷你压缩?当我下载 zlib 时,我看到 minizip visual studio 项目是 windows 环境中 zlibvc 解决方案的一部分。 不确定这两个库是不同的
我有以下 cmake 文件要下载、构建和安装 zlib: cmake_minimum_required ( VERSION 2.8.7 ) include (ExternalProject) if(U
我正在尝试使用 Minizip 压缩具有非 ASCII 文件名的文件.如果压缩文件名有问题的文件,即至少有一个不在 ASCII 中的字符的名称被压缩,则存档中文件的名称会被弄乱。我红How to co
我正在尝试使用来自 [http://www.zlib.net/] 的 minzip 包装器来压缩文件夹。只要文件名是英文,它就可以正常工作。有没有人试过修改 minizip 以支持 unicode?
Firefox 将其默认配置信息存储在omni.jar(旧版本)或omni.ja(更高版本)中。 omni.jar 和omni.ja 都是zip 文件格式。因此我们可以使用许多程序/库来压缩或解压
我正在制作一个应用程序,它使用 this following github link 中的 SSZipArchive 将文件压缩/解压缩到文档目录中.然后我将以下内容添加到我的 Xcode 项目中,
我编写代码用 minizip 删除 zip 文件。 引用http://www.winimage.com/zLibDll/del.cpp 我必须经常删除和修改文件和 zip。 使用的 zip 文件是 1
是否有关于如何将包含文件夹和文件的 zip 文件解压缩到某个目录并通过 MiniZip 将它们打包回来的 C/C++ 教程? 最佳答案 没有教程可以准确说明这一点。然而,MiniZip 源代码中包含两
有什么方法可以通过 minizip 正确提取符号链接(symbolic link)吗? OS X 上的库? 通过提取文件时 status = mz_zip_reader_extract_to_fil
我正在尝试为跨平台应用程序归档文件,看起来 Minizip(基于 zlib)与归档程序一样便携。 但是,当我尝试运行以下虚拟代码时,出现系统错误 [my executable] has stopped
我需要将#import "ZBarSDK.h"写入#ifdef OBJ 部分,因为如果在其他地方导入,Minizip 将无法工作! #ifdef __OBJC__ #import #import
我正在尝试制作一个跨平台的 Appx打包程序(用于 Windows 商店应用程序)。该格式只是一个带有一些元数据文件的 zip。 我需要制作一个包含文件哈希值的 XML 文件,因为格式需要它。问题是它
我和fopen with unicode filename的情况一样,我想在其中使用使用 fopen 的库。有问题的库是 minizip,我需要它在 Windows、UNIX (OSX)、iOS 和
我正在尝试使用 Visual Studio 2010 在 Windows 7 64 位上使用 static minizip 库。 主要目标是归档大于 4GB 的文件。 我使用 CMake 2.8 构建
我是一名优秀的程序员,十分优秀!