zxing/cpp
smparkes@smparkes.net a27d470ede c++ changes for r2519
git-svn-id: https://zxing.googlecode.com/svn/trunk@2612 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2013-04-01 06:01:17 +00:00
..
core c++ changes for r2519 2013-04-01 06:01:17 +00:00
ios.xcodeproj iOS 6 beta xcode tweaks and minor fixes detected by new clang 2012-06-21 20:34:52 +00:00
magick/src 1d support for most C++ decoders; n.b. not pdf417 and rss 2013-04-01 06:00:29 +00:00
osx.xcodeproj ahti333's port of aztec and gfpoly + some fixes + Xcode tweaks for recent ECI updates 2012-02-18 02:14:45 +00:00
scons Tweak svn/git ignores 2010-08-20 00:41:26 +00:00
zxing-cpp.xcodeproj modernize iphone & objective c for 1d 2013-04-01 06:00:53 +00:00
.gdbinit 1d complete; tests pass; need to valgrind 2013-04-01 06:00:11 +00:00
.gitignore 1d support for most C++ decoders; n.b. not pdf417 and rss 2013-04-01 06:00:29 +00:00
.svnignore C++ port: 2009-12-08 21:16:43 +00:00
.valgrind.supp 1d support for most C++ decoders; n.b. not pdf417 and rss 2013-04-01 06:00:29 +00:00
.valgrindrc minor C++ build tweaks 2011-10-14 12:34:33 +00:00
astyle-options Many changes to the C++ port. 2009-11-01 17:30:30 +00:00
blackboxtest.results fix incorrectly applied java port in j2239 2012-06-27 16:02:48 +00:00
blackboxtest.sh ahti333's port of aztec and gfpoly + some fixes + Xcode tweaks for recent ECI updates 2012-02-18 02:14:45 +00:00
format Many changes to the C++ port. 2009-11-01 17:30:30 +00:00
ios_Prefix.pch objective c port for iOS and OS X 2011-05-17 02:07:56 +00:00
README update 2012-06-26 17:21:13 +00:00
SConscript 1d support for most C++ decoders; n.b. not pdf417 and rss 2013-04-01 06:00:29 +00:00
SConstruct Many changes to the C++ port. 2009-11-01 17:30:30 +00:00

This is only tested on Linux. With some trouble, it might work on Windows as well.

The build process uses scons, a build tool written in python. You'll
need to have python installed, but scons installation is optional: a
runtime copy of scons (called scons-local) is included with zxing. To
use the included copy of scons-local, where the instructons says enter
"scons", enter "python scons/scons.py" instead. For example, to build
the library only, you'd use "python scons/scons.py lib" instead of
"scons lib".

To build the library only:
- Run "scons lib" in this folder (cpp)

To build the unit tests:
- Install cppunit (libcppunit-dev on Ubuntu)
- Run "scons tests"
- Run "testrunner" in the build folder

To build the test utility:
- Install Magick++ (libmagick++-dev on Ubuntu)
- Run "scons zxing"

An simple example application is now also included, but no compilation instructions yet.

To clean:
- Run "scons -c all"

To use the test utility:
- Basic usage:
  - "mkdir testout"
  - "zxing testout *.jpg > report.html"
- With the zxing test data, from the cpp folder:
  - "mkdir testout"
  - "build/zxing testout ../core/test/data/blackbox/qrcode-*/* > report.html"

To format the code:
 - Install astyle
 - Run ./format

To profile the code (very useful to optimize the code):
 - Install valgrind
 - "valgrind --tool=callgrind build/zxing - path/to/test/data/*.jpg > report.html"
 - kcachegrind is a very nice tool to analize the output

To run the blackbox tests and check for changes:
 - build the test util, e.g., scons zxing
 - run the tests: bash blackboxtest.sh 2>&1 | tee bb.results
 - diff them with the known results: diff bb.results blackboxtest.results