Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rcpp和C++;对gdal、sqlite3和boost的依赖关系_Sqlite_Boost_Dependencies_Rcpp_Gdal - Fatal编程技术网

Rcpp和C++;对gdal、sqlite3和boost的依赖关系

Rcpp和C++;对gdal、sqlite3和boost的依赖关系,sqlite,boost,dependencies,rcpp,gdal,Sqlite,Boost,Dependencies,Rcpp,Gdal,我正试图使混合C++/python/R项目更容易为非程序员提供 我考虑将C++代码与RCPP包起来,使其在R包中可用,并希望将一些复杂性隐藏到最终用户。p> 这个问题的目的是要理解到哪一个程度实际上更容易 例如,当尝试为我的project.cpp提供源代码时,我遇到以下错误: fatal error: gdal_priv.h: No such file or directory #include <gdal_priv.h> 致命错误:gdal_priv.h:没有这样的文件或目录#包

我正试图使混合C++/python/R项目更容易为非程序员提供

我考虑将C++代码与RCPP包起来,使其在R包中可用,并希望将一些复杂性隐藏到最终用户。p> 这个问题的目的是要理解到哪一个程度实际上更容易

例如,当尝试为我的
project.cpp
提供源代码时,我遇到以下错误:

fatal error: gdal_priv.h: No such file or directory #include <gdal_priv.h>
致命错误:gdal_priv.h:没有这样的文件或目录#包含
  • 是否可以编写类似于
    链接到:BH、GDAL、sqlite3
    的跨平台代码

  • 如何知道C++库与Rcpp(BH为Boost)兼容的情况?

    < C++ >子项目使用CMAGK工作得很好:我能不能利用这些CFILE文件来帮助Rcpp找到外部依赖项?


      这确实是三个问题

      对于1)我不知道是否/如何
      gdal
      和或
      sqlite3
      将自身导出为仅头库。我有点怀疑它
      gdal
      是众所周知的,也是众所周知的构建时“麻烦”的来源。地理空间福克斯可能知道并可能帮助您

      对于2),这个问题定义不清。“与Rcpp兼容”应该是什么意思?目前,使用Rcpp的CRAN上有1800多个软件包;也许把这些作为“存在的证据”并在其中寻找

      对于3),R和CRAN使用的
      autoconf
      /
      configure
      远远多于
      cmake
      。当然,您可以使用
      cmake
      ,但随后需要在
      SystemRequirements
      中声明该依赖关系


      简而言之,打包外部库仍然很困难,主要是因为您现在必须在多达三种不同的操作系统上安装它们。这与Rcpp无关,Rcpp也帮不上什么忙-/

      这确实是三个问题

      对于1)我不知道是否/如何
      gdal
      和或
      sqlite3
      将自身导出为仅头库。我有点怀疑它
      gdal
      是众所周知的,也是众所周知的构建时“麻烦”的来源。地理空间福克斯可能知道并可能帮助您

      对于2),这个问题定义不清。“与Rcpp兼容”应该是什么意思?目前,使用Rcpp的CRAN上有1800多个软件包;也许把这些作为“存在的证据”并在其中寻找

      对于3),R和CRAN使用的
      autoconf
      /
      configure
      远远多于
      cmake
      。当然,您可以使用
      cmake
      ,但随后需要在
      SystemRequirements
      中声明该依赖关系


      简而言之,打包外部库仍然很困难,主要是因为您现在必须在多达三种不同的操作系统上安装它们。这与Rcpp无关,Rcpp也帮不上什么忙-/

      谢谢你快速详细的回答。我原以为R打包系统和Rcpp会使处理外部依赖变得更容易,但似乎我错了:)臭名昭著的“没有免费午餐”定理再次向我们袭来!我希望这更容易,我自己也在一些项目中解决这个问题。Header only确实是最好的,遗憾的是,并不是所有的项目都可以这样表达。Docker可能是一条出路。“你不能同时拥有黄油和黄油钱”是一个相当的法语成语;)Docker是我的下一个出路。接下来,我考虑使用snap,至少在Ubuntu上可以让它变得简单。为什么页眉更容易管理?因为它可以复制R包中的文件?你知道,snap很有趣,但是。。。更难。去年,我参加了一个Ubuntu组织的hackathon,由于软件包构建的原因,我们无法真正完成R。试试Docker。Et enfin:关于法语的评论?那么再见!您的反馈为我节省了一些时间,谢谢!“在贝乌尔和贝乌尔银币上”;)谢谢你快速详细的回答。我原以为R打包系统和Rcpp会使处理外部依赖变得更容易,但似乎我错了:)臭名昭著的“没有免费午餐”定理再次向我们袭来!我希望这更容易,我自己也在一些项目中解决这个问题。Header only确实是最好的,遗憾的是,并不是所有的项目都可以这样表达。Docker可能是一条出路。“你不能同时拥有黄油和黄油钱”是一个相当的法语成语;)Docker是我的下一个出路。接下来,我考虑使用snap,至少在Ubuntu上可以让它变得简单。为什么页眉更容易管理?因为它可以复制R包中的文件?你知道,snap很有趣,但是。。。更难。去年,我参加了一个Ubuntu组织的hackathon,由于软件包构建的原因,我们无法真正完成R。试试Docker。Et enfin:关于法语的评论?那么再见!您的反馈为我节省了一些时间,谢谢!“在贝乌尔和贝乌尔银币上”;)