exiv2\msvc64\ReadMe.txt
-----------------------
Updated: 2011-02-25
This is work in progress.
However this is sufficiently robust to be in current use by a commercial licensee of exiv2.
1) Working
Build 32 bit and 64 bit builds of exiv2.exe (and libraries exiv2lib,expat,zlib,xmpsdk).
Builds with VS2005, 2008 and 2010.
Supports zlib-1.2.5 or zlib-1.2.3
setbuild.py "doctors" the project files for DevStudio Express
buildall.bat batch building script
runner.py build verification script (and binaries/code for depends{32|64}.exe)
2) TODO (in priority order)
a) Build sample/test applications (exifprint etc)
b) Use .vsprop files to hold "common" project settings
Assistance appreciated if you wish to become involved.
Robin Mills
http://clanmills.com
email: robin@clanmills.com
####
T A B L E o f C O N T E N T S
1 Build Instructions
1.1 Tools
1.2 Install zlib and expat sources.
1.3 Open exiv2\msvc64\exiv2.sln
1.4 What is build
1.5 Building with zlib1.2.3
1.6 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
2 Design
2.1 Architecture
2.2 Changing the version of expat/zlib/xmpsdk
2.3 Relationship with msvc build environment
3 Acknowledgment of prior work
3.1 Differences between inherited project and the exiv2 projects
4 Batch builds and tests
4.1 buildall.bat
4.2 runner.py
## End Table of Contents End ##
####
1 Build Instructions
1.1 Tools
This has been tested with the "Pro" versions of VS 2005/08/10
Express editions don't support 64 bit builds, however it is
possible to build 32 bit libraries with "Express".
See notes below about DevStudio Express and building only Win32 or x64 builds
1.2 Install zlib and expat sources.
I use the directory c:\gnu for this purpose, however the name isn't important.
c:\gnu>dir
Directory of c:\gnu
2010-12-05 10:05 <DIR> exiv2 <--- this tree
2010-12-02 21:06 <DIR> expat-2.0.1 <--- "vanilla" expat 2.0.1 source tree
2010-12-02 20:58 <DIR> zlib-1.2.5 <--- "vanilla" zlib 1.2.5 source tree
2010-12-02 20:58 <DIR> zlib-1.2.3 OPTIONAL <--- "vanilla" zlib 1.2.3 source tree
c:\gnu>
The URLs from which to obtain zlib and expat are documented in exiv2\msvc\README-MSVC.txt
expat-2.0.1 is available from http://voxel.dl.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz
zlib-1.2.5 is available from http://zlib.net/zlib-1.2.5.tar.gz
1.3 Open exiv2\msvc64\exiv2.sln
Projects are zlib, expat, xmpsdk, exiv2lib, exiv2
Build/Batch build... Select All, Build
- 5 projects (zlib, expat, xmpsdk, exiv2lib, exiv2)
x 2 Platforms (x64|Win32)
x 4 Configurations (Debug|Release|DebugDLL|ReleaseDLL)
= 5x2x4 = 40 builds.
If you haven't installed the x64 compiler, don't select the 64 bit configurations!
You may have to hand-edit the vcproj and sln files to hide the 64 bit information.
See the notes about DevStudio Express for more information about this.
Build time is 15 minutes on a 2.2GHz Duo Core and consumes 1.0 gBytes of disk space.
1.4 What is built
The DLL builds use the DLL version of the C runtime libraries
The Debug|Release builds use static C runtime libraries
This is discussed in exiv2\msvc\README-MSVC.txt
1.5 Building with zlib1.2.3
By default, msvc64 builds with zlib-1.2.5
You can build with zlib1.2.3. To do this:
1) copy/y exiv2\msvc64\zlib123\zlib.vcproj exiv2\msvc64\zlib\zlib.vcproj
2) You will need the sources in a directory parallel to exiv2
c:\gnu>dir
Directory of c:\gnu
2010-12-05 10:05 <DIR> exiv2 <--- this tree
2010-12-02 21:06 <DIR> expat-2.0.1 <--- "vanilla" expat 2.0.1 source tree
2010-12-02 20:58 <DIR> zlib-1.2.5 <--- "vanilla" zlib 1.2.5 source tree
2010-12-02 20:58 <DIR> zlib-1.2.3 OPTIONAL <--- "vanilla" zlib 1.2.3 source tree
c:\gnu>
Please see exiv2\msvc\README-MSVC.txt for information about obtaining zlib-1.2.3
3) Alter the "AdditionalIncludeDirectories" in the following projects:
xmpsdk.vcproj
exiv2lib.vcproj
exiv2.vcproj
There are 8 occurances of "AdditionalIncludeDirectories" in each of the 3 projects.
If you have both 1.2.3 and 1.2.5 in your build tree, you'll probably "get away with" not
making this change - however this is due to good luck and you should really adjust the vcprojects.
1.6 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
Express does not provide a 64 bit compiler.
You can build 32 bit libraries with DevStudio Express (with a little effort)
Before loading the project, use the python script setbuild.py to select Win32:
c:\gnu\exiv2\msvc64>setbuild.py Win32
setbuild.py is none destructive. If you have a 64 bit compiler, you can:
1) Restore the build environment with: setbuild.py all
2) Select x64 bit builds only with: setbuild.py x64
If you don't have python available (it's a free download from ActiveState.com),
you can "doctor" to project files manually to remove mentiosn of X64 using an editor:
Cleanup your tree and edit the files.
cd exiv2\msvc64
call cleaner.bat
for /r %f in (*.vcproj) do notepad %f
for /r %f in (*.sln) do notepad %f
I personally don't recommend notepad for any purpose at all.
I use TextPad http://www.textpad.com/ Notepad++ is also good.
DevStudio Express 2010 does not have the "Batch Build" feature.
Select "exiv2" right-click "Set as Startup Project" and
Select Platform="Win32" Configuration="Debug|DebugDLL|Release|ReleaseDLL" Build.
Build the Configurations you need. Build time is about 2 minutes/Configuration.
To remove the "memory" of old configurations:
setbuild.py reset
2 Design
expat and zlib do not provide 64 bit builds for DevStudio,
so it has been necessary to create the build environments for exiv2.
However, we don't include the source code for zlib or expat - only the build environment.
You are expected to install the "vanilla" expat and zlib libraries
in a directory at the same level as exiv2.
I personally always build in the directory c:\gnu,
however the name/location/spaces of the build directory are all irrelevant,
it's only the relative position of expat-2.0.1 and zlib-1.2.5 that matter.
The names expat-2.0.1 and zlib-1.2.5 fixed (and used by the .vcproj files)
zlib and expat
exiv2\msvc64\zlib\zlib.{sln|vcproj} DevStudio files
..\..\..\zlib-1.2.5\ Source code
exiv2\msvc64\expat\expat.sln expat.vcproj DevStudio files
..\..\..\expat-2.0.1\ Source code
2.1 Architecture
There are directories for every component:
The libraries: zlib, expat, xmpsdk, exiv2lib
Applications: exiv2 (exifprint.exe and other sample apps will be added on request)
For each component, there are three build directories:
exiv2lib\build intermediate results
exiv2lib\Win32\{Debug|Release|DebugDLL|ReleaseDLL} 32 bit builds
exiv2lib\x64\{Debug|Release|DebugDLL|ReleaseDLL} 64 bit builds
Final builds and include directories (for export to "foreign" projects)
bin\{win32|x84}\Win32\{Debug|Release|DebugDLL|ReleaseDLL}
include
2.2 Changing the version of expat/zlib/xmpsdk
At the moment, zlib contains re
JaniceLu
- 粉丝: 99
- 资源: 1万+
最新资源
- 基于PHP的FeelDesk工单管理系统开源版设计源码
- 基于Antv-X6的组态编辑器与可视化设计源码
- factoryio2.5工厂流水线仿真程序,期末专周可用,多个场景可以咨询 使用简单的梯形图与SCL语言编写,通俗易懂,起到抛砖引玉的作用,比较适合有动手能力的入门初学者 软件环境: 1、西门子编程
- 基于公有云平台的OpenIoT项目设计源码
- 基于微信小程序文件系统的MxLocalBase本地数据库设计源码
- 基于C语言的2023级寒假实践打地鼠游戏设计源码
- 基于matlab的孔入式静压轴承程序,进油孔数为4个,采用有限差分计算轴承油膜厚度及油膜压力 程序已调通,可直接运行
- 控制电机-感应电动机转差型矢量控制伺服模型系统 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 控制电机-正弦波永磁同步电动机矢量控制系统仿真 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真 速度外环基于模型预测控制、电流内环基于无差拿控制搭建,控制效果理想,模块程序设计通俗易通
- 基于Laravel的简化Smarty模板引擎设计源码
- NSGA2遗传算法多目标优化 三维视图 寻优多个函数(函数类型见图二类型),出图为三维红色为帕列托(图一), 带最终结果图(图三)
- 基于graqhql/mongodb/nodejs/nuxtjs的Vue跨世代实时在线文档编辑系统设计源码
- 基于Java的用户线程模型设计源码
- 基于Rust Axum框架的Web后端项目设计与源码实践
- 基于HTML、CSS和JavaScript的eui后台UI框架设计源码预览版账号密码提供
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0