zxing/cpp
smparkes@smparkes.net 4d28115073 C++ 1D/cleanup first pass
git-svn-id: https://zxing.googlecode.com/svn/trunk@2603 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2013-04-01 05:59:09 +00:00
..
core C++ 1D/cleanup first pass 2013-04-01 05:59:09 +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 C++ 1D/cleanup first pass 2013-04-01 05:59:09 +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 Xcode 4.5.1 project updates 2012-10-13 23:39:06 +00:00
.gdbinit C++ 1D/cleanup first pass 2013-04-01 05:59:09 +00:00
.gitignore ignore .pyc files under git; use /usr/local (e.g., homebrew) as an imagemagick source 2012-10-29 18:23:34 +00:00
.svnignore C++ port: 2009-12-08 21:16:43 +00:00
.valgrind.supp C++ 1D/cleanup first pass 2013-04-01 05:59:09 +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 ignore .pyc files under git; use /usr/local (e.g., homebrew) as an imagemagick source 2012-10-29 18:23:34 +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