64a5f4a664
git-svn-id: https://zxing.googlecode.com/svn/trunk@2674 59b500cc-1b3d-0410-9834-0bbf25fbcc57 |
||
---|---|---|
.. | ||
cli/src | ||
cmake | ||
core | ||
ios.xcodeproj | ||
osx.xcodeproj | ||
scons | ||
zxing-cpp.xcodeproj | ||
.gdbinit | ||
.gitignore | ||
.svnignore | ||
.valgrind.supp | ||
.valgrindrc | ||
blackboxtest.results | ||
blackboxtest.sh | ||
CMakeLists.txt | ||
format | ||
ios_Prefix.pch | ||
README.md | ||
SConscript | ||
SConstruct |
ZXing C++ Port
This is a manual port of ZXing to C++. It has been tested on Linux, Mac OS X and Windows.
Building using SCons
SCons is a build tool written in Python. You'll need to have Python
installed, but scons installation is optional: a run time copy of
SCons (called scons-local
) is included. To use the included copy,
replace scons
with python scons/scons.py
in the instructions below.
To build the library only:
- Install libiconv (optional; included in many operating systems)
cd
to thecpp
folder- Run
scons lib
To build the command line utility utility:
- Run
scons zxing
- Run
build/zxing
for a command line reference
To build the unit tests (optional):
- Install CppUnit (
libcppunit-dev
on Ubuntu) - Run
scons tests
- Run
build/testrunner
To clean:
- Run
scons -c all
Building using CMake
CMake is a tool, that generates native makefiles and workspaces. It integrates well with a number of IDEs including Qt Creator and Visual Studio.
Usage with Qt Creator:
- Open
CMakeLists.txt
as new project - Specify command line arguments (see below) and press Finish
Usage with Makefiles, Visual Studio, etc. (see cmake --help
for a complete list of generators):
cd
tocpp/build
- Unix: run
cmake -G "Unix Makefiles" ..
- Windows: run
cmake -G "Visual Studio 10" ..
You can switch between build modes by specifying:
-DCMAKE_BUILD_TYPE=Debug
or-DCMAKE_BUILD_TYPE=Release
Development tips
To profile the code (very useful to optimize the code):
- Install Valgrind
- Run
valgrind --tool=callgrind build/zxing - path/to/test/data/*.jpg > report.html
- Analyze output using KCachegrind
To run the black box tests and check for changes:
- Build
zxing-img
, 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