Rcpp обновление устаревших вопросов кода - PullRequest
2 голосов
/ 04 марта 2011

Я беру на себя проект, который включает в себя обновление до последней версии Rcpp, и, следовательно, я должен обновить все вызовы API старого стиля (который совместим с версией CLassic, я считаю).Поскольку нет полной документации по API, мне приходится делать это методом проб и ошибок, отмечая ошибки «неопределенной ссылки» при связывании, а затем просматривая виньетки / примеры.Компиляция работает нормально, но возникают ошибки при связывании с \ inst \ libs \ RLink.dll.Мне удалось преобразовать большую часть кода (в основном используя Rcpp :: List для извлечения и упаковки параметров входящей и исходящей функции), но я просто не могу получить эквиваленты для следующего:

  1. Rprintf или Rf_error иforward_exception_to_r.
  2. R_NilValue
  3. Rf_install

Я использую IDE Code :: Blocks 10.05 с установленной RTools и явной ссылкой на Mingw64 в наборе инструментов с выбранным компилятором GNU GCC,Я был бы благодарен за любые головы.Спасибо.

edit:

У меня есть #include и до этого и (произошла серия ошибок, потому что я включил iostream до Rcpp, что было странно.

1 Ответ

1 голос
/ 04 марта 2011

Не могли бы вы привести конкретные примеры, может быть, даже в списке rcpp-devel? Подход портирования работает, я также перенес устаревший код из «классического» Rcpp API, и поэтому есть другие в списке.

Но вы не должны портировать. Короткая виньетка в пакете RcppClassic содержит подробную информацию о том, как ее использовать, если вы хотите сохранить старый API.

...