I would recommend you use homebrew to manage all your packages on a Mac since Apple doesn't supply a package manager for some reason. You can grab it from brew.sh.
Once you have that installed, you can simply install zbar
with:
brew install zbar
It would be a good idea to install pkgconfig
too :
brew install pkgconfig
Now you can compile at the command line with:
clang yourProgram.c $(pkg-config --cflags --libs zbar) -o yourProg
or with C++, or g++:
clang++ yourProgram.cpp $(pkg-config --cflags --libs zbar) -o yourProg
If you want to use Xcode, you need to set up:
- the search path for headers (include files)
- the search path for libraries
- the libraries themselves.
As they are not that simple to find, click on 1
then 2
in the figure below to get to the correct area of Xcode:

Now set them up like this:


And everything should be all good to go - as our American friends say. This method takes advantage of the fact that homebrew always puts symbolic links in /usr/local/include
and /usr/local/lib
to the latest, greatest version of zbar
that you have installed. So, if you update any homebrew packages, your code will use the latest, greatest versions. You can see the links I am talking about like this:
ls -l /usr/local/include | grep zbar
lrwxr-xr-x 1 mark admin 34 13 Mar 12:15 zbar -> ../Cellar/zbar/0.10_4/include/zbar
lrwxr-xr-x 1 mark admin 36 13 Mar 12:15 zbar.h -> ../Cellar/zbar/0.10_4/include/zbar.h
ls -l /usr/local/lib | grep zbar
lrwxr-xr-x 1 mark admin 41 13 Mar 12:15 libzbar.0.dylib -> ../Cellar/zbar/0.10_4/lib/libzbar.0.dylib
lrwxr-xr-x 1 mark admin 35 13 Mar 12:15 libzbar.a -> ../Cellar/zbar/0.10_4/lib/libzbar.a
lrwxr-xr-x 1 mark admin 39 13 Mar 12:15 libzbar.dylib -> ../Cellar/zbar/0.10_4/lib/libzbar.dylib
P.S. You update homebrew with:
brew update && brew upgrade
If you want to use a specific version of zbar
, you need to work a little harder.
You get the include path like this:
pkg-config --cflags zbar
Sample Output
-I/usr/local/Cellar/zbar/0.10_4/include
And the library path like this:
pkg-config --libs zbar
Sample Output
-L/usr/local/Cellar/zbar/0.10_4/lib -lzbar
Then you put those values into Xcode along these lines:
