Я успешно запустил образцы кодов в пакете. Затем я скопировал код из sample1 в другой мой файл и настроил его для компиляции с использованием Makefile.
Также скопированы образцы копий в тот же каталог.
Примеры в каталоге компилируются и работают нормально.
Но использование R в моем уже существующем коде вызывает проблемы. При компиляции выдает ошибку expected unqualified-id before âreturnâ
, Это происходит в строке, где я объявляю RInside R(argc, argv)
,
Еще одна странная вещь, которую я заметил, — если я добавляю внизу включенных файлов, я получаю кучу ошибок в Rcpp и т. Д., Но если я включаю его вверху, все эти ошибки исчезают.
Кроме того, требуется ли для пакета опция компиляции по умолчанию -O3? Я использовал -Ofast для большинства моих кодов. Просматривая вопросы здесь, я думаю, что мне нужно внести изменения в CXXFLAGS в Makevars, но я не могу узнать где.
Любая помощь приветствуется.
Я свел ошибки к другому файлу, включенному в мою настройку, который является «k.h». Это файл, который используется для взаимодействия c ++ с базой данных kdb +. Если я включу файл, прежде чем я получу ошибки в классах Rcpp. При включении после RInside я получаю более раннюю ошибку unqualified id before return
,
Это рассматриваемый файл: k.h
Решено: Похоже, это был конфликт имен переменных. Во всех примерах мы имеем RInside R(argc, argv)
, Как только я изменил это на RInside L(argc, argv)
все работало нормально. Не знаю точно, почему это было так, но это решает проблему по крайней мере. Проверенные выходы тоже.
Задача ещё не решена.
Других решений пока нет …