首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Zbar导入到C++项目中的macOS

将Zbar导入到C++项目中的macOS
EN

Stack Overflow用户
提问于 2017-03-12 17:51:06
回答 1查看 1.2K关注 0票数 1

我正在尝试使用兹巴,它是一个条形码读取库,包含针对不同语言和环境的绑定。我试图在C++中使用Zbar。我编写了C++代码,但我对导入库和设置IDE不太了解。我在macOS塞拉利昂上使用Xcode。如有任何指导,将不胜感激。

编辑:由于下面的答案,我成功地安装了ZBar。但是,当我尝试用Xcode构建以下代码时:

代码语言:javascript
运行
复制
#include <iostream>
#include <zbar.h>

int main(int argc, const char * argv[]) {        
    zbar::ImageScanner scanner;
    return 0;
}

我得到以下错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-12 19:35:29

我建议您使用自制来管理Mac上的所有软件包,因为苹果出于某种原因没有提供软件包管理器。你可以从brew.sh那里拿来。

一旦安装了该程序,就可以简单地通过以下方式安装zbar

代码语言:javascript
运行
复制
brew install zbar

安装pkgconfig也是个好主意:

代码语言:javascript
运行
复制
brew install pkgconfig

现在,您可以使用以下命令行编译:

代码语言:javascript
运行
复制
clang yourProgram.c $(pkg-config --cflags --libs zbar) -o yourProg

或者使用C++,或者g++:

代码语言:javascript
运行
复制
clang++ yourProgram.cpp $(pkg-config --cflags --libs zbar) -o yourProg

如果要使用Xcode,则需要设置:

  • 标题的搜索路径(包括文件)
  • 图书馆的搜索路径
  • 图书馆本身。

由于它们并不那么容易找到,请单击下图中的1然后2,以获得Xcode的正确区域:

现在把他们设成这样:

就像我们的美国朋友说的那样,一切都应该是好的。该方法利用了这样一个事实,即homebrew总是在/usr/local/include/usr/local/lib中放置符号链接,以指向您已经安装的最新、最优秀的zbar版本。因此,如果您更新任何自制包,您的代码将使用最新的、最优秀的版本。你可以看到我所说的链接如下:

代码语言:javascript
运行
复制
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.用以下内容更新自制

代码语言:javascript
运行
复制
brew update && brew upgrade

如果您想使用特定版本的zbar,您需要更加努力地工作。

您可以得到这样的包含路径:

代码语言:javascript
运行
复制
pkg-config --cflags zbar

样本输出

代码语言:javascript
运行
复制
-I/usr/local/Cellar/zbar/0.10_4/include 

图书馆的道路是这样的:

代码语言:javascript
运行
复制
pkg-config --libs zbar

样本输出

代码语言:javascript
运行
复制
-L/usr/local/Cellar/zbar/0.10_4/lib -lzbar

然后将这些值放入Xcode中,如下所示:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42750975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档