zxing/cpp
smparkes@smparkes.net 31cb655de2 minor C++ optimizations
This is mostly just inlining a couple of getter/setter pairs that are in the tightest loops.
The only semantic change is making the retain() and release() methods of the reference counted
objects non-virtual, which allows them to be inlined.

See also http://groups.google.com/group/zxing/browse_thread/thread/6ea93730a7093199

git-svn-id: https://zxing.googlecode.com/svn/trunk@1974 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2011-10-15 00:58:10 +00:00
..
core minor C++ optimizations 2011-10-15 00:58:10 +00:00
ios.xcodeproj tweak target sdk and force llvm-gcc 2011-10-09 18:55:33 +00:00
magick/src Port r1623 changes to C++ 2011-10-13 15:21:13 +00:00
osx.xcodeproj objective c port for iOS and OS X 2011-05-17 02:07:56 +00:00
scons Tweak svn/git ignores 2010-08-20 00:41:26 +00:00
.gitignore minor C++ build tweaks 2011-10-14 12:34:33 +00:00
.svnignore C++ port: 2009-12-08 21:16:43 +00:00
.valgrind.supp Port r1623 changes to C++ 2011-10-13 15:21:13 +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.sh C++: binarizer updates 2010-07-19 20:56:17 +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 Tweak svn/git ignores 2010-08-20 00:41:26 +00:00
SConscript minor C++ build tweaks 2011-10-14 12:34:33 +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