You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
7.6 KiB
Markdown

| Travis | AppVeyor | GitLab| Codecov|
|:-------------:|:-------------:|:-----:|:------:|
| [![Build Status](https://travis-ci.org/Exiv2/exiv2.svg?branch=master)](https://travis-ci.org/Exiv2/exiv2) | [![Build status](https://ci.appveyor.com/api/projects/status/d6vxf2n0cp3v88al/branch/master?svg=true)](https://ci.appveyor.com/project/piponazo/exiv2-wutfp/branch/master) | [![pipeline status](https://gitlab.com/D4N/exiv2/badges/master/pipeline.svg)](https://gitlab.com/D4N/exiv2/commits/master) | [![codecov](https://codecov.io/gh/Exiv2/exiv2/branch/master/graph/badge.svg)](https://codecov.io/gh/Exiv2/exiv2) |
<pre><code>
@@@Marco@@@@@b ;mm /##Gilles###\
j@@@#Robin", Brad /@@@Thomas@@@@Q
@@@# \ ## @@@b |@@@b
@@@# .;;;;, ,;;;, ,;;;; ,;;;p .;;; 7@@ ]Alan
@@@# j@@@@, ]@@#/ '@@@# j@@@# ]@@^ ;@@@"
@@@Andreas@C "@@@p @@@" @@@b j@@@p @@b @@@#/
@@@#^7"7%#\ ^@@@@@#~ Benb 1@@@ {@# s@@@#
@@@# Niels @@@b @@@Q ]@# ;@@@#/
@@@# ,@@##@@m @@@b @@@p @@C #@@#C
@@@# ,/ s@@# @@@@ @@@b Volker @Tuan@
]@@@Abhinav@@\ /@@@\ \@@@Q @@@Q %@@@# /@@@@Mahesh@@#
/@@Raphael@@@@@\ /@@@@@\ C++ Metadata Library /@Sridhar@@@v0.26\
</code></pre>
# Exiv2
19 years ago
Welcome to Exiv2, a C++ library and a command line utility to read and
18 years ago
write Exif, IPTC and XMP image metadata. The homepage of Exiv2 is:
http://www.exiv2.org/
See [doc/ChangeLog](https://github.com/Exiv2/exiv2/blob/master/doc/ChangeLog)
for a list of recent changes to Exiv2.
Exiv2 API and tag reference documentation is at http://www.exiv2.org/doc
or you can build it and point your browser to `doc/index.html`.
For more information on XMP support in Exiv2, see [doc/README-XMP](https://github.com/Exiv2/exiv2/blob/master/doc/README-XMP).
18 years ago
## Building and Installing
You can build the libraries in the following ways:
1 Autotools: UNIX-like systems (including GNU/Linux, MacOS-X, Cygwin (32 and 64), MinGW (32 and 64)
- general notes follow
14 years ago
- FAQ concerning Cygwin/MSYS and Mac OS X:
http://dev.exiv2.org/projects/exiv2/wiki/FAQ
2 Microsoft Visual C++ solutions
- see [msvc/ReadMe.txt](https://github.com/Exiv2/exiv2/blob/master/msvc/ReadMe.txt) (32bit and 64bit builds Visual Studio 2005,08,10,12,13,15)
3 CMake (support for all platforms/compilers except MinGW)
- see [README-CMAKE](https://github.com/Exiv2/exiv2/blob/master/README-CMAKE)
for more information
To build a commercial version of the Exiv2 library, see also section
14 years ago
"Commercial version" at the end of this file.
On UNIX-like systems, use the GNU configure script. Run the following
commands from the top directory (containing this file) to configure,
build and install the library and utility:
$ ./configure
$ make
$ sudo make install (Cygwin/MinGW $ make install)
Caution:
If you downloaded the source code from the git repository,
you will have to generate the configure script:
$ make config
$ ./configure
$ make
$ sudo make install (Cygwin/MinGW $ make install)
To build the sample applications:
$ make samples
The default install locations are `/usr/local/lib` for the library,
`/usr/local/bin` for the `exiv2` utility and `/usr/local/include/exiv2` for the
header files. Use the `--prefix=directory` option of the configure script to
change the default. Run `./configure --help` to see a list of all options.
To uninstall Exiv2 from a UNIX-like system, run:
$ sudo make uninstall
## Dependencies
The following libexiv2 features are enabled by default and may
18 years ago
require external libraries. They can be controlled through configure
options. See also `./configure --help`.
Feature Package Configure options
-------------------------- -------- ----------------------------
PNG image support zlib --without-zlib
--with-zlib=DIR
Native language support gettext --disable-nls
Characterset conversions libiconv --without-libiconv-prefix
--with-libiconv-prefix[=DIR]
XMP support expat --disable-xmp
--with-expat=DIR
zlib http://zlib.net/
gettext *) http://www.gnu.org/software/gettext/
libiconv *) http://www.gnu.org/software/libiconv/
expat http://expat.sourceforge.net/
*) Some systems have gettext and iconv in libc. The configure script
(and CMake) should detect this.
17 years ago
On Linux, it is usually best to install the dependencies through the
package management system of the distribution together with the
corresponding development packages (for the header files and static
libraries).
To build the sample programs in the [samples](https://github.com/Exiv2/exiv2/tree/master/samples)
directory (`make samples`), you also need to have the `pkg-config`
program.
18 years ago
To generate the documentation (`make doc`), you will further need
`doxygen`, `graphviz`, `python` and `xsltproc`.
18 years ago
pkg-config http://pkg-config.freedesktop.org/wiki/
doxygen http://www.doxygen.org/
graphviz http://www.graphviz.org/
python http://www.python.org/
xsltproc http://xmlsoft.org/XSLT/
md5sum http://www.microbrew.org/tools/md5sha1sum/
## Troubleshooting
If you have problems building Exiv2 on UNIX-like systems, check the
generated `config/config.mk` and `config/config.h` files. You should *not*
need to modify any Makefile directly, in particular not `src/Makefile`!
## Support
19 years ago
All project resources are accessible from the project website at
http://dev.exiv2.org/projects/exiv2/wiki
Please send feedback or queries to the Exiv2 forum. For new bug reports
and feature requests, please open an issue in Github.
## Linking your own code with Exiv2
A pkg-config .pc file is installed together with the library.
Application developers can use `pkg-config(1)` to obtain correct
compile and link time flags for the Exiv2 library. See
[samples/Makefile](https://github.com/Exiv2/exiv2/blob/master/samples/Makefile)
for an example.
20 years ago
If you downloaded Exiv2 directly from the git repository, and you want
to build it using the GNU configure script, then you need to have GNU
Autoconf installed on your system and create the configure script as
the first step:
20 years ago
$ make config
Then run the usual `./configure; make; make install` commands.
20 years ago
Exiv2 uses GNU Libtool in order to build shared libraries on a variety
of systems. While this is very nice for making usable binaries, it can
be a pain when trying to debug a program. For that reason, compilation
of shared libraries can be turned off by specifying the
`--disable-shared` option to the configure script.
20 years ago
## License
20 years ago
Copyright (C) 2004-2018 Exiv2 authors
20 years ago
19 years ago
Exiv2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your
option) any later version.
Exiv2 is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
20 years ago
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, 5th Floor, Boston,
MA 02110-1301 USA.