У меня есть библиотека, скажем mylibrary.dll
, что есть в C++ код, который я хочу запустить в R. Я сделал это:Ошибка при попытке вызова C++ DLL-библиотеку в R
dyn.load("mylibrary.dll")
.Call("myfun")
я получаю:
Error in .Call("myfun") : C symbol name "myfun" not in load table
Теперь я видел несколько ответов на подобные проблемы, на здесь и на других сайтах, но когда я попытался каждым решение, каждый, казался, требует наличия доступа к исходному коду, например, добавление что-то вроде этого: extern "C"
на код C++ или перекомпилировать код определенным образом. Все, что у меня есть, это DLL-файл, и я хотел бы использовать его непосредственно для вызова из R функций, содержащихся в нем.
Кстати, когда я запустил первую строку кода я получил это : 'Предупреждающее сообщение: В inDL (x, as.logical (local), as.logical (now), ...): DLL попытался изменить управляющее слово FPU с 8001f до 9001f'. Я видел в другом месте, что это можно игнорировать. –
Почему бы вам не включить ваш код? – nrussell
Пробовали ли вы просматривать загрузочный стол? В Unix вы должны использовать команду 'nm', но в Windows ... я не знаю. Возможно, попробуйте некоторые из этих материалов в [this] (http://stackoverflow.com/questions/4438900/how-to-view-dll-functions) потоке? –