gpt4 book ai didi

c++ - 在 macOS 上将 Zbar 导入 C++ 项目

转载 作者:行者123 更新时间:2023-11-30 03:33:35 26 4
gpt4 key购买 nike

我正在尝试使用 Zbar这是一个条形码阅读库,具有针对不同语言和环境的绑定(bind)。我正在尝试将 Zbar 与 C++ 一起使用。我已经编写了 C++ 代码,但我不太了解导入库和设置我的 IDE 来执行此操作。我在 macOS Sierra 上使用 Xcode。任何指导将不胜感激。

编辑:多亏了下面的回答,我才能够成功安装 ZBar。但是,当我尝试在 Xcode 中构建以下代码时:

#include <iostream>
#include <zbar.h>

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

我收到以下错误:

enter image description here

最佳答案

我建议您使用 homebrew 来管理 Mac 上的所有包,因为 Apple 出于某种原因不提供包管理器。您可以从 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,你需要设置:

  • header (包含文件)的搜索路径
  • 库的搜索路径
  • 图书馆本身。

因为它们不是那么容易找到,点击下图中的 1 然后 2 以到达 Xcode 的正确区域:

enter image description here

现在像这样设置它们:

enter image description here

enter image description here

一切都应该顺利进行 - 正如我们的美国 friend 所说。这个方法利用了 homebrew 总是在 /usr/local/include/usr/local/lib 中放置符号链接(symbolic link)到您安装的最新、最好的 zbar 版本。因此,如果您更新任何 homebrew 包,您的代码将使用最新、最好的版本。你可以看到我正在谈论的链接是这样的:

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

附言你用以下方式更新 homebrew:

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:

enter image description here

关于c++ - 在 macOS 上将 Zbar 导入 C++ 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com