Я использую R 3.0.2 под Windows 7 (32 бит) и имеет TDM-GCC-32 (gcc (tdm-2) 4.8.1) в пути.Как использовать Rcpp с TDM-gcc 4.8.1?
Когда я пытаюсь использовать cppFunction, я получаю ошибку: сообщение
library(inline)
library(Rcpp)
src <- '
SEXP hellofun(){
std::vector<std::string> s;
s.push_back("hello");
s.push_back("world");
return Rcpp::wrap(s);
}'
hello_fun <- cppFunction(src)
Ошибка:
Error in inDL(x, as.logical(local), as.logical(now), ...) (from file1c8c8c929f5.cpp.R#1) :
unable to load shared object 'C:/Users/ssss11/AppData/Local/Temp/RtmpeywSmo/sourcecpp_1c8c47543253/sourceCpp_60750.dll':
LoadLibrary failure: Invalid access to memory location
Однако, когда я запускаю пример (cfuntion), это удается.
library(inline)
example(cfunction)
Как решить эту проблему?
Я заново компилировать Rcpp из источника, и она работает. – Shuguang
Это интересно - спасибо за попытку. Возможно, вы могли бы суммировать ваши шаги в сообщении на r-devel. Там могут быть другие пользователи Windows, которые хотели бы попробовать новый компилятор. –
@Shuguang Я тоже перекомпилировал Rcpp и его «зависимости», используя недавний g ++ (здесь 4.8.2). Как вы тестировали и подтверждали, что обработка исключений работает так, как должна, из Rcpp-источников? – Thell