Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
core
ios.xcodeproj
magick/src
osx.xcodeproj
scons
zxing-cpp.xcodeproj
.gitignore
.svnignore
.valgrind.supp
.valgrindrc
README
SConscript
SConstruct
astyle-options
blackboxtest.results
blackboxtest.sh
format
ios_Prefix.pch

README

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
Something went wrong with that request. Please try again.