C++ R Makevars简单库导入,例如fftw3

C++ R Makevars简单库导入,例如fftw3,c++,r,fftw,C++,R,Fftw,我目前正在开发一个R包,其中包含一些C/C++代码,具体取决于各种外部库 Rcpp 巴布亚新几内亚 福彭普 fftw3(傅里叶变换) 我正在寻找一种简单的方法来创建一个Makevars文件,用户以后不需要(或多或少地)进行调整,也可以稍后上传到CRAN。 因此,这个外部库的枚举也可能为其他需要类似或相同库的用户提供一个有用的示例;) 到目前为止,在文档和其他来源中,我找到了以下编写Makevars文件的提示: Rcpp:在PKG\u库中使用${R\u HOME}/bin/Rscript-e“

我目前正在开发一个R包,其中包含一些C/C++代码,具体取决于各种外部库

  • Rcpp
  • 巴布亚新几内亚
  • 福彭普
  • fftw3(傅里叶变换)
我正在寻找一种简单的方法来创建一个Makevars文件,用户以后不需要(或多或少地)进行调整,也可以稍后上传到CRAN。 因此,这个外部库的枚举也可能为其他需要类似或相同库的用户提供一个有用的示例;)

到目前为止,在文档和其他来源中,我找到了以下编写Makevars文件的提示:

  • Rcpp:在
    PKG\u库中使用
    ${R\u HOME}/bin/Rscript-e“Rcpp:::LdFlags()”
  • png:在
    PKG\u LIBS
    中使用
    $(png\u LIBS)-lpng
    。但似乎使用了一个空字符串
  • FOpenMP:在代码中使用<代码> >(SLIPBULMPOMPJCFLAGS)<代码> >代码> PKGJLIBS < /C>(但这取决于如果使用C或C++代码,请参见写R扩展,SEC.1.2.1.1
  • fftw3:在这里我找不到一个简单的方法。目前,我使用
    locate fftw3
    获取库的路径。然后,我将其写入Makevars文件
  • 最后,我的makevars文件如下所示:

    PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS)
    PKG_LIBS= -L/usr/local/lib -lm -lfftw3f $(PNG_LIBS) -lpng 
               $(SHLIB_OPENMP_CFLAGS) `${R_HOME}/bin/Rscript -e "Rcpp:::LdFlags()"`
    
    问题是,这个文件是否真的正确?我对我来说很好,但我无法判断它是否对其他用户有效? 我真的需要一个配置脚本来查找fftw3库吗

    此外,是否允许将R包上载到用户必须调整makevars文件的CRAN