Импорт библиотеки Armadillo C++ в Xcode

Я пользователь Mac и пытаюсь установить и импортировать библиотеку C++ Armadillo. Вот шаги, которые у меня были до сих пор:

1) Я скачал библиотеку Armadillo с ее сайта.

2) Я просмотрел файл Readme.txt в загружаемом файле, объясняя, как его установить.

3) Я использовал CMake, чтобы сделать файлы загрузки броненосца в двоичные файлы.

4) Затем, используя терминал и код sudo make install, я установил двоичные коды, и они сгенерировали несколько «библиотекоподобных» файлов: libarmadillo.4.0.2.dylib, libarmadillo.4.dylib, lib armadillo.dylib.

5) Затем я скопировал все эти файлы в каталог /url/lib.

6) Теперь у меня запущена программа Xcode, и я пытаюсь включить библиотеку броненосца с помощью команды include. Проблема в том, что Xcode выделяет эту строку и говорит, что «файл броненосца не найден». Может ли кто-нибудь помочь мне решить эту проблему?

Большое спасибо,


person Sam    schedule 19.01.2014    source источник
comment
Это может быть актуально: stackoverflow.com/a/17056335/1080929   -  person mtall    schedule 20.01.2014
comment
@Sepehr, ты когда-нибудь решал свои проблемы? У меня такие же проблемы!   -  person Will Andrew    schedule 31.01.2014
comment
Привет @WillAndrew, к сожалению, я не смог ее решить. В первую очередь я хотел программировать с помощью Rcpp, и по некоторым причинам я могу скомпилировать код броненосца в R studion после включения пакета RcppArmadillo. Я предлагаю попробовать решение Мартина ниже, это может помочь. Пожалуйста, дайте мне знать, если это поможет. На самом деле я тоже не смог решить это с помощью его решения :(   -  person Sam    schedule 31.01.2014
comment
@Sepehr, я случайно решил свою проблему, удалив libarmadillo.dylib из раздела Link Binary with Libraries, теперь программа компилируется правильно (хотя я понятия не имею, почему!)   -  person Will Andrew    schedule 31.01.2014
comment
@WillAndrew, рад, что ты смог это решить. Эта логистика иногда становится очень утомительной. Теперь, когда вы ее решили, начинается самое интересное :)   -  person Sam    schedule 31.01.2014


Ответы (1)


Вам нужно установить следующие вещи в настройках сборки:

  • Пути поиска заголовков: /path/to/armadillo/include (например, что-то вроде /url/lib/armadillo/include)

Это все, что вам нужно для компиляции исходного кода. Однако для того, чтобы ваша программа была связана, вам также потребуется следующее:

  • Пути поиска библиотек: /path/to/armadillo/libraries (например, что-то вроде /url/lib/armadillo/lib)
  • Другие флаги компоновщика: -larmadillo (или: добавьте библиотеку armadillo на этап сборки Link с помощью графического интерфейса)

Если вы не совсем уверены, как правильно собрать и установить броненосца (например, какой префикс использовать при настройке), я настоятельно рекомендую использовать менеджер пакетов, такой как MacPorts, чтобы сделать это за вас,

  1. Установите порт из здесь
  2. run the following command:

    sudo port install armadillo

  3. Ваш путь к заголовку и путь к библиотеке будут: /opt/local/include и /opt/local/lib соответственно.

person Martin J.    schedule 29.01.2014