You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Rcpp编译R包时出现冲突声明错误,但g++编译正常

求助:如何在Rcpp包中配置依赖外部静态库HDFql?

各位大佬好,我最近在折腾一个依赖外部库HDFql的Rcpp包,碰到了配置上的坎儿,想请大家帮忙指点下。

先说说目前的进展:

  • 我已经能成功编译纯C++文件:用命令 g++ example.cpp -I./include/HDFql ./HDFql/libHDFql.a -fopenmp -ldl 就能正常编译运行,其中 ./include/HDFql 文件夹放着HDFql的所有头文件,./HDFql/libHDFql.a 是对应的静态库文件。
  • 现在我想把这个依赖迁移到Rcpp包中,但不知道怎么在包的结构里实现和上面g++命令等效的配置。我的包目录结构大概是这样的:
    |- R
    |  |- script.r
    |- src
    |  |- HDFql
    |     |- libHDFql.a
    |  |- include
    |     |- HDFql
    |        |- 各种HDFql头文件
    |  |- 我的Rcpp实现文件.cpp
    

我现在搞不清楚该怎么修改Rcpp包的 Makevars(Windows环境对应Makevars.win)文件,来指定头文件路径、链接这个静态库,同时加上 -fopenmp-ldl 这些编译链接选项。有没有熟悉Rcpp包配置的朋友能给我讲讲具体的配置步骤呀?

内容的提问来源于stack exchange,提问作者mikeck

火山引擎 最新活动