ZipArchive之C++编译和调用

由于要用到zip的解压,就上网下载了CZipArchive类的源码(还是2000年的),里面有个示例,稍微修改下,就能正常运行。

就高兴地把lib拿出来,放到项目中了。捣鼓了快一个下午了,死活编译不通过,识别不了一些宏定义。就放弃了,开始在官网去下载。

找到对应的版本下载回来后,就开始编译lib库,正常,当是放在项目中,还是编译不过。还是找不到一写函数的实现。

就又开始捣鼓,看readme。

是时候表演真正的技术了。1.当你编译ZipArchive库时,你要看看你的项目是用什么字符编码(是多字节还是unicode),也就是说,

你编译ZipArchive时,要和你项目的字符编码一致。2.如果是windows的话,在ZipArchive项目中的预处理器里面加两个宏就行了(ZIP_BUILD_DLL,ZIP_HAS_DLL),

其它相关ZIP宏什么的,可以删掉。3.把相关的头文件和生成之后的lib和dll拷贝到你的项目中,然后在你的项目中添加ZIP_HAS_DLL。

到此的话,应该就没问题了。一般的话主要是用到CZipArchive类就够了。

时间: 2024-10-10 01:59:12

ZipArchive之C++编译和调用的相关文章

Echoprint系列--Android编译与调用

在Echoprint系列--编译中编译了源代码,这次将Echoprint移植到Android平台并測试识别歌曲功能. 一.编译库 1.环境准备 Android NDK,我的是android-ndk-r10e 改动源代码,把src中的.cxx的文件重命名为.cpp.把src文件夹重命名为jni Boost源代码.在PC上编译的时候也安装boost的,我的时boost_1_58_0,复制到jni文件夹 2.编写编译配置文件 打开源代码中的main.cpp,看到核心部分就是 codegen_respo

VS2010编译、调用Lua程序

一) .建立lua源代码工程,编译lua的静态库 1.下载Lua源码 http://www.lua.org/download.html a 下载后解压到一个目录下,这里假设解压到D:\lua-5.1.5b 注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变2.在VS2010中新建一个静态库项目,项目命名为lua     a 选择新建 Win32 console project     b 在wizard界面选择 static Library:不选择Precomplied Head

Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题

调用bootstrap css框架时,将bootstrap文件夹放入 vendor/assets/下 bootstrap文件结构如下:    [[email protected] demo]$ ls vendor/assets/bootstrap/     css  img  js [[email protected] demo]$ ls vendor/assets/bootstrap/css/     bootstrap.css  bootstrap.min.css  bootstrap-re

windows配置caffe及matlab接口编译和调用(cpu和gpu)

环境:windows 7+matlab2016a+vs2013 caffe下载地址:https://github.com/BVLC/caffe/tree/windows 1 进入caffe-windows的windows文件夹,Copy .\windows\CommonSettings.props.example to .\windows\CommonSettings.props 2 打开caffe工程,编辑CommonSettings.props文件,以下是cpu版本设置 <CpuOnlyBu

在VS工程里编译dll / 调用外部dll

这个问题昨天请教了一下大神,记录之. 1.编译dll 创建一个新项目,Win32控制台应用程序,这里选DLL.这样的话编译过后会自动在Debug目录下生成dll文件. 这样,会生成如下的目录: 其中头文件里的第2.3个是自动生成的,源文件里的1.3个是自动生成的. 我们只需要改动: 在DllWithClass.h里写: extern "C" _declspec(dllexport)//导出 float FunctionMultiply(float x, float y); 这里第一行是

web3 编译部署调用合约

//导入solc 编译器 let solc = require('solc') let fs = require('fs') //读取合约 let sourceCode = fs.readFileSync('./contracts/SimpleStorage.sol','utf-8') //var input = 'contract x { function g() {} }' // Setting 1 as second paramateractivates the optimiser //编

Python与C相互调用、编译

因为最近学习Boost::python的缘故,想尝试下不同语言之间的相互编译. 参考资料:http://blog.csdn.net/joliny/article/details/2457197. 很吃惊的是:原本电脑上已经安装好了pytont2.7和vs 2010,不需要安装其他的API或者编译器,直接就可以在c 程序中调用Python了. 首先尝试的是在VS IDE下编译,但发现网上说安装的python为release版,编译总是出现问题.所以又换成了第二种方法,在dos命令下. 我想第一种方

编译脚本支持(Build script support)

查看原文:Build Script Support 有些包需要编译第三方的非Rust代码,比如说C库.其他包需要链接到C库,这些C库可能位于系统磁盘上,也有可能需要从源代码中构建.其他人仍然需要一些功能,比如在构建之前的代码生成(考虑解释器生成器)(没明白是什么意思). Cargo并不是为了取代这些针对这些任务进行了良好优化的其他工具,但是它确实与构建配置选项集成在一起了: 一.如何使用构建脚本 在Cargo.toml文件中 [package] # ... build = "build.rs&q

mybatis深入理解之 # 与 $ 区别以及 sql 预编译

mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下: select * from user where name = "ruhua"; 上述 sql 中,我们希望 name 后的参数 "ruhua" 是动态可变的,即不同的时刻根据不同的姓名来查询用户.在 sqlMap 的 xml 文件中使用如下的 sql 可以实现动态传递参数 name: select * from user whe