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.

Другие вопросы по тегам