Одного ответа SO недостаточно, чтобы объяснить все детали взаимодействия R с C / C ++. Просто получить код C / C ++ для компиляции на разных системах - это глубокая кроличья нора, и это будет сложной задачей в таких проблемах, как ваша.
CRAN ожидает, что все пакеты, для которых требуется исполняемый файл, включают исходный коддля него, как и все, что необходимо для настройки его компиляции. Первое подразумевает, что любая библиотека, от которой вы зависите, должна иметь открытый исходный код и лицензию, совместимую с политиками CRAN;последнее подразумевает, что библиотека может быть построена с помощью набора инструментов R .
Например, RcppParallel
, который, по сути, охватывает TBB * 1011 Intelдля использования пакетов RОн включает исходный код последнего в src
и упоминает соответствующие авторские права и системные требования в своем описании (как видно на его странице CRAN). Из того, что я могу сказать, разработчики должны были написать файл Makevars.in
, чтобы интегрировать его с R.
Это только один пример, и, к сожалению, нет единого ответа, который бы подходил для всех случаев. ,Посмотрите, например, на README для httpuv
(прокрутите вниз).
Я не хочу разочаровывать, но интеграция существующих библиотек C / C ++ с R действительно сложна. Если вы хотите сделать это, вам нужно набраться терпения и начать с основ. Если нужная вам библиотека не с открытым исходным кодом, я сомневаюсь, что вы можете получить свой пакет на CRAN. Если это так, проверьте, как он скомпилирован как автономный, и перейдите оттуда.
Да и кстати, Rcpp
не интегрирует существующие библиотеки с R, это по сути пакет с интерфейсами C ++ для RC API (и еще куча дополнительных функций), так что это не лучший пример того, что вы пытаетесь сделать.