Это мой первый вопрос о стеке, так что будьте добры, ребята!
Мне очень понравилось мое недавно обретенное умение создавать пакеты R с помощью devtools. Однако, как только я пытаюсь собрать пакет, использующий RcppArmadillo, мой рабочий процесс запуска devtools::document(), devtools::check() и devtools::build() больше не работает.
Например, у меня есть (надеюсь, довольно минимальная + полная) тестовая версия пакета, который я пытаюсь разработать здесь: https://github.com/suztolwinskiward/fooR/. fooR содержит только одну функцию, которая является реализацией C++ функции rdist.earth из пакета fields.
Запуск devtools::document("fooR") выдает множество сообщений (несколько намеков на "неопределенные ссылки" на переменные, которые не живут в моем исходном коде, которые не интерпретируются для меня, а затем терпит неудачу:
collect2: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'fooR'
* removing 'C:/Users/I53794/AppData/Local/Temp/RtmpWgC8nD/devtools_install_1ea473123086/fooR'
Error: Command failed (1)
С другой стороны, когда я использую функцию C++, которая зависит от RcppArmadillo, кажется, что она работает нормально:
> Rcpp::sourceCpp('./src/rdist_earth_cpp.cpp')
> data('miami')
> data('new_orleans','katrina_path')
> rdist_earth_cpp(katrina_path,new_orleans)
[,1]
[1,] 1042.36073
[2,] 998.96793
[3,] 957.69315
[4,] 917.91486
[5,] 868.07791
[6,] 805.73485
[7,] 763.01476
[8,] 726.10133
[9,] 692.14482
[10,] 670.15133
[11,] 662.23353
[12,] 625.55592
[13,] 601.08682
[14,] 579.73940
[15,] 560.32660
[16,] 539.14192
[17,] 510.15438
[18,] 481.40037
[19,] 442.52322
[20,] 391.96619
[21,] 331.66378
[22,] 271.79088
[23,] 201.24749
[24,] 128.12647
[25,] 56.99198
[26,] 45.80297
[27,] 32.96609
[28,] 81.71237
[29,] 189.31050
[30,] 296.92104
[31,] 406.12593
[32,] 516.08458
[33,] 654.81113
[34,] 808.21670
Это заставляет меня думать, что что-то не так с тем, как я пытаюсь использовать RcppArmadillo в своем пакете, но я не смог понять, что именно. Любые советы очень ценятся!
P.S. Я удивлен, что здесь нет тега RcppArmadillo....