R cpp и C ++ зависимости от gdal, sqlite3 и boost - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь сделать гибридный проект C ++ / python / R более доступным для непрограммистов.

Я рассматриваю возможность обернуть код C ++ с помощью R cpp, чтобы сделать его доступным внутри пакет R и, надеюсь, скрыть некоторые сложности для конечного пользователя.

Этот вопрос направлен на то, чтобы понять, до какой степени это будет на самом деле проще.

Например, при попытке получить мой project.cpp я получаю следующую ошибку:

fatal error: gdal_priv.h: No such file or directory #include <gdal_priv.h>
  • Можно ли написать что-нибудь кроссплатформенное, похожее на LinkingTo: BH, GDAL, sqlite3?

  • Как узнать, какие библиотеки C ++ сделаны совместимыми с R cpp (например, BH для Boost)?

  • Подпроект C ++ отлично работает с использованием cmake: могу ли я как-то воспользоваться этими файлами cmake, чтобы помочь R cpp найти внешние зависимости?

1 Ответ

2 голосов
/ 17 февраля 2020

Это действительно три вопроса.

Для 1) Я не знаю, если / как gdal и / или sqlite3 экспортируют себя как библиотеки только для заголовков . Я в чем-то сомневаюсь; gdal хорошо известно, а также несколько хорошо известно как источник "неприятностей" при строительстве. GeoSpatial foks может знать и, возможно, может помочь вам.

Для 2), вопрос плохо определен. Что значит «совместимо с R cpp»? В настоящее время в CRAN используется более 1800 пакетов с использованием Rcpp; может быть, взять их как «доказательство существования» и искать среди них?

Для 3) R и CRAN используют autoconf / configure a лот больше, чем cmake. Конечно, вы можете использовать cmake, но затем вам нужно объявить эту зависимость в SystemRequirements.

Короче говоря, упаковка внешних библиотек все еще трудна, главным образом потому, что вы теперь нужно следить за их установкой на трех разных операционных системах. Это не имеет ничего общего с R cpp, и R cpp не может помочь. : - /

...