下Rcpp 0.12.6をコンパイルすることができません:グラム++ 4.8.4でRcpp 12.6をコンパイルしようとすると、私は次のエラーメッセージが出ていR
error: expected initializer before ‘stop’
inline void noret stop(const std::string& message)
は上の何かを見つけるように見えることはできません属性NORET
下Rcpp 0.12.6をコンパイルすることができません:グラム++ 4.8.4でRcpp 12.6をコンパイルしようとすると、私は次のエラーメッセージが出ていR
error: expected initializer before ‘stop’
inline void noret stop(const std::string& message)
は上の何かを見つけるように見えることはできません属性NORET
NORET
マクロはRで定義されていますが、Rの最新バージョンでのみ使用されます。私たち(およびCRAN)はすべてのテストを行い、最近のバージョンでビルドするので、これは滑り落ちました。
この問題は既にissue #512(または#516)と報告されています。これはすでにマスタブランチと、暫定リリース0.12.6.1で対処されており、Rcpp dratリポジトリから入手できます。
それ以外の場合は、空の#define NORET
を追加するか、R版を更新することをお勧めします。
ありがとうございます。それはそれを修正! –
これは恐らく[[noreturn]]属性(またはその古いバージョン)のマクロですhttp://en.cppreference.com/w/cpp/language/attributesもっと最新のものが必要でしょうg ++ –
閉じる。これは、ヘッダの1つで定義されているRの更新版です。これを確認することに失敗し、 '#ifndef NORET'があればそれを自分で定義します。コンパイラは正常です。 –
R-devel(別名R 3.4。*)、R-release(今は別名R 3.3.1)、R-oldrel(別名R 3.2.5)がすべて機能します。しかし、もしあなたがR 3.1。*かそれ以上に戻ると失敗します。 –