Giter Club home page Giter Club logo

libxmlplusplus's Introduction

libxml++
--------

libxml++ (a.k.a. libxmlplusplus) provides a C++ interface to XML files. It uses
libxml2 to access the XML files, and in order to configure libxml++ you must
have both libxml2 and pkg-config installed.

To get the latest version of libxml++, see
https://libxmlplusplus.github.io/libxmlplusplus/
To contact the developers, send e-mail to the mailing list at
http://mail.gnome.org/mailman/listinfo/libxmlplusplus-list
We welcome patches, but it helps to discuss them first.

See the examples directory for example code.

Use pkg-config to discover the necessary include and linker arguments. For instance,
  pkg-config libxml++-5.0 --cflags --libs
If you build with Autotools, ideally you would use PKG_CHECK_MODULES in your
configure.ac file.


# Building

Whenever possible, you should use the official binary packages approved by the
supplier of your operating system, such as your Linux distribution.

## Building on Windows

See MSVC_NMake/README

## Building from a release tarball

Extract the tarball and go to the extracted directory:
  $ tar xf libxml++-@[email protected]
  $ cd libxml++-@LIBXMLXX_VERSION@

It's easiest to build with Meson, if the tarball was made with Meson,
and to build with Autotools, if the tarball was made with Autotools.
Then you don't have to use maintainer-mode.

How do you know how the tarball was made? If it was made with Meson,
it contains files in untracked/docs/ and other subdirectories
of untracked/.

### Building from a tarball with Meson

Don't call the builddir 'build'. There is a directory called 'build' with
files used by Autotools.

  $ meson --prefix /some_directory --libdir lib your_builddir .
  $ cd your_builddir

If the tarball was made with Autotools, you must enable maintainer-mode:
  $ meson configure -Dmaintainer-mode=true

Then, regardless of how the tarball was made:
  $ ninja
  $ ninja install
You can run the tests like so:
  $ ninja test

### Building from a tarball with Autotools

If the tarball was made with Autotools:
  $ ./configure --prefix=/some_directory
If the tarball was made with Meson, you must enable maintainer-mode:
  $ ./autogen.sh --prefix=/some_directory

Then, regardless of how the tarball was made:
  $ make
  $ make install
You can build the examples and tests, and run the tests, like so:
  $ make check

## Building from git

Building from git can be difficult so you should prefer building from
a release tarball unless you need to work on the libxml++ code itself.

jhbuild can be a good help
  https://gitlab.gnome.org/GNOME/jhbuild
  https://wiki.gnome.org/Projects/Jhbuild

### Building from git with Meson

Maintainer-mode is enabled by default when you build from a git clone.

Don't call the builddir 'build'. There is a directory called 'build' with
files used by Autotools.

  $ meson --prefix /some_directory --libdir lib your_builddir .
  $ cd your_builddir
  $ ninja
  $ ninja install
You can run the tests like so:
  $ ninja test
You can create a tarball like so:
  $ ninja dist

### Building from git with Autotools

  $ ./autogen.sh --prefix=/some_directory
  $ make
  $ make install
You can build the examples and tests, and run the tests, like so:
  $ make check
You can create a tarball like so:
  $ make distcheck
or
  $ make dist

libxmlplusplus's People

Contributors

aburgm avatar alexp-sssup avatar amigadave avatar cdevienne avatar cedricgustin avatar dtrebbien avatar fanc999 avatar garrison avatar hfiguiere avatar jaalburquerque avatar jhs-s avatar kjellahl avatar mathiasl avatar mlt avatar murraycu avatar ovitters avatar pgrzegorczyk avatar ya1gaurav avatar yselkowitz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.