RCpp Местоположение временного строительства
Я работаю в среде, где связывание динамических библиотек ограничено определенными местоположениями. Когда я использую RStudio и запрашиваю новый файл C++, я получаю шаблон "Hello World". Когда я пытаюсь скомпилировать это и связать его, нажав "Source" в RStudio, я получаю сообщение об ошибке:
LoadLibrary failure: Access is denied.
Эта ошибка вызвана тем, что библиотека была расположена в пространстве, в котором нельзя загружать файлы DLL. Чтобы обойти это ограничение, я хотел бы определить, как сказать RCpp разместить временные библиотеки (не в пакете) в определенном месте.
Я знаю, что Дирк предположил, что это не входит в сферу применения RCpp и что весь код должен находиться в пакетах, но это не будет для него самой удобной средой для пользователей. Я подозреваю, что большинство будет использовать проекты RStudio с GIT.
Итак, как говорится, есть переменная окружения, которую я могу изменить, чтобы заставить RCpp разместить временные dll-файлы в определенном месте. Или есть какой-то другой механизм, который я могу использовать, чтобы изменить это?
1 ответ
Попробуйте установить TMPDIR
который R уважает. Это действительно не проблема Rcpp, а общий R CMD build
/ R CMD INSTALL
вопрос.
От help(tempfile)
:
Переменные среды
TMPDIR
,TMP
а такжеTEMP
проверяются по очереди и используется первый найденный, который указывает на доступный для записи каталог: если ни один не удается/tmp
используется.
PS Rcpp с строчными буквами C.