R软件包开发-如何处理软件包安装时的C库链接错误

时间:2020-08-03 20:11:18

标签: r c package devtools

情况:

我正在开发的R包通过R的.C导出C函数。

如果在操作系统中安装了libtiff,则定义功能的src/中的代码可以正常编译。

我希望此功能为可选;就像有“建议的” R包一样,因为它不是必需的。

问题

我发现没有办法告诉R C函数编译是“建议”的。我无法找到一种方法来使src /中的代码编译为可选,或者以某种方式限制libtiff在操作系统中的存在。

我目前的Makevars说:

CC=ccache clang -Qunused-arguments
CXX=ccache clang++ -Qunused-arguments
CCACHE_CPP2=yes    
PKG_LIBS = -ltiff

我整天都在寻找解决方案,但没有成功。

我只是想出了如何使用Makevars查找li​​btiff:

TIFFSTATUS := $(shell $(LD) -ltiff; echo 0 || echo 1)
ifeq ($(TIFFSTATUS), 1)
... stuff?

问题

如何正确地告诉R使用.C的函数是可选的(即,取决于libtiff依赖项的可用性)。

谢谢。

0 个答案:

没有答案