我正在尝试使用兹巴,它是一个条形码读取库,包含针对不同语言和环境的绑定。我试图在C++中使用Zbar。我编写了C++代码,但我对导入库和设置IDE不太了解。我在macOS塞拉利昂上使用Xcode。如有任何指导,将不胜感激。
编辑:由于下面的答案,我成功地安装了ZBar。但是,当我尝试用Xcode构建以下代码时:
#include <iostream>
#include <zbar.h>
int main(int argc, const char * argv[]) {
zbar::ImageScanner scanner;
return 0;
}
我得到以下错误:
发布于 2017-03-12 19:35:29
我建议您使用自制来管理Mac上的所有软件包,因为苹果出于某种原因没有提供软件包管理器。你可以从brew.sh那里拿来。
一旦安装了该程序,就可以简单地通过以下方式安装zbar
:
brew install zbar
安装pkgconfig
也是个好主意:
brew install pkgconfig
现在,您可以使用以下命令行编译:
clang yourProgram.c $(pkg-config --cflags --libs zbar) -o yourProg
或者使用C++,或者g++:
clang++ yourProgram.cpp $(pkg-config --cflags --libs zbar) -o yourProg
如果要使用Xcode,则需要设置:
由于它们并不那么容易找到,请单击下图中的1
然后2
,以获得Xcode的正确区域:
现在把他们设成这样:
就像我们的美国朋友说的那样,一切都应该是好的。该方法利用了这样一个事实,即homebrew总是在/usr/local/include
和/usr/local/lib
中放置符号链接,以指向您已经安装的最新、最优秀的zbar
版本。因此,如果您更新任何自制包,您的代码将使用最新的、最优秀的版本。你可以看到我所说的链接如下:
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.用以下内容更新自制:
brew update && brew upgrade
如果您想使用特定版本的zbar
,您需要更加努力地工作。
您可以得到这样的包含路径:
pkg-config --cflags zbar
样本输出
-I/usr/local/Cellar/zbar/0.10_4/include
图书馆的道路是这样的:
pkg-config --libs zbar
样本输出
-L/usr/local/Cellar/zbar/0.10_4/lib -lzbar
然后将这些值放入Xcode中,如下所示:
https://stackoverflow.com/questions/42750975
复制相似问题