библиотеки — Импорт Zbar в проект C ++ на macOS

Я пытаюсь использовать Zbar это библиотека для считывания штрих-кодов с привязками для разных языков и сред. Я пытаюсь использовать Zbar с C ++. Я написал код на C ++, но я не очень разбираюсь в импорте библиотек и настройке IDE для этого. Я использую Xcode на macOS Sierra. Любое руководство будет высоко ценится.

РЕДАКТИРОВАТЬ: Благодаря приведенному ниже ответу, я смог успешно установить ZBar. Однако, когда я пытаюсь построить следующий код в Xcode:

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

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

Я получаю следующую ошибку:

введите описание изображения здесь

1

Решение

Я бы порекомендовал вам использовать доморощенного управлять всеми вашими пакетами на 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, вам нужно настроить:

  • путь поиска заголовков (включаемых файлов)
  • путь поиска для библиотек
  • сами библиотеки.

Поскольку их не так просто найти, нажмите на 1 затем 2 на рисунке ниже, чтобы добраться до нужной области Xcode:

введите описание изображения здесь

Теперь установите их так:

введите описание изображения здесь

введите описание изображения здесь

И все должно быть хорошо, как говорят наши американские друзья. Этот метод использует тот факт, что доморощенного всегда помещает символические ссылки в /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

Постскриптум Вы обновляете доморощенного с:

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 вдоль этих линий:

введите описание изображения здесь

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]