Различные синтаксические ошибки C++, возникающие в результате расширения макроса «RcppExport» в R Markdown.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Различные синтаксические ошибки C++, возникающие в результате расширения макроса «RcppExport» в R Markdown.

Сообщение Anonymous »

У меня есть следующий файл .cpp, который я хочу использовать в R:

Код: Выделить всё

#include 
#include 

using Eigen::Map;
using Eigen::EigenBase;
using Eigen::HouseholderQR;
using Eigen::MatrixXd;
using Eigen::SparseMatrix;
using Eigen::SparseQR;
using Eigen::COLAMDOrdering;

// [[Rcpp::depends(RcppEigen)]]

// [[Rcpp::export]]
SEXP qr_dense_residop(Map X, Map Y){
const HouseholderQR QR(X);
return Rcpp::wrap(Y - (X * QR.solve(Y)));
}

// [[Rcpp::export]]
SEXP qr_sparse_residop(Map X, Map Y){
const SparseQR QR(X);
return Rcpp::wrap(Y - (X * QR.solve(Y)));
}
Если я скомпилирую его с помощью Rcpp::sourceCpp(), он скомпилируется правильно. Однако я хочу включить исходный код в документ Rmarkdown, поэтому вместо этого включаю его следующим образом:

Код: Выделить всё

```{Rcpp, file="resid.cpp"}
```
Потом, когда я вяжу документ, получаю следующую ошибку:

Код: Выделить всё

using C++ compiler: ‘g++ (GCC) 11.3.0’
/stornext/System/data/apps/gcc/gcc-11.3.0/bin/g++ -std=gnu++17 -I"/stornext/System/data/apps/R/R-4.3.2/lib64/R/include" -DNDEBUG   -I"/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include" -I"/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include" -I"/vast/scratch/users/milton.m/tmp/RtmpABumCC/sourceCpp-x86_64-pc-linux-gnu-1.0.12" -I/usr/local/include    -fpic  -g -O2  -w -c file153c34131d6db.cpp -o file153c34131d6db.o
In file included from /home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include/RcppEigenForward.h:26,
from /home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/RcppEigen/include/RcppEigen.h:25,
from file153c34131d6db.cpp:1:
file153c34131d6db.cpp: In function ‘SEXPREC* qr_sparse_residop(Eigen::Map, Eigen::Map)’:
/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/RcppCommon.h:140:27: error: expected unqualified-id before string constant
140 | #define RcppExport extern "C" attribute_visible
|                           ^~~
file153c34131d6db.cpp:33:1: note: in expansion of macro ‘RcppExport’
33 | RcppExport SEXP sourceCpp_1_qr_dense_residop(SEXP XSEXP, SEXP YSEXP) {
| ^~~~~~~~~~
/home/users/allstaff/milton.m/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/RcppCommon.h:140:27: error: expected unqualified-id before string constant
140 | #define RcppExport extern "C" attribute_visible
|                           ^~~
file153c34131d6db.cpp:45:1: note: in expansion of macro ‘RcppExport’
45 | RcppExport SEXP sourceCpp_1_qr_sparse_residop(SEXP XSEXP, SEXP YSEXP) {
| ^~~~~~~~~~
file153c34131d6db.cpp:54:2: error: expected ‘}’ at end of input
54 | }
|  ^
file153c34131d6db.cpp:20:81: note: to match this ‘{’
20 | SEXP qr_sparse_residop(Map X, Map Y){
|                                                                                 ^
make: *** [file153c34131d6db.o] Error 1
Что здесь происходит и как избежать этой ошибки?

Подробнее здесь: https://stackoverflow.com/questions/781 ... ort-within
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Неправильные знаки коэффициентов Фурье, возникающие в результате scipy.fft.fft
    Гость » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Гость
  • Преобразование макроса макроса AtlConv.H A2W в векторную реализацию, чтобы избавиться от _alloc
    Anonymous » » в форуме C++
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • вместо фактического текста Markdown
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как я могу проверить синтаксические ошибки Apache?
    Гость » » в форуме Apache
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • Как заставить ANTLR показывать мне все синтаксические ошибки
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»