Rhdf5lib 1.16.0
Rhdf5lib提供版本的C和c++ HDF5库。它主要是用于其他R包的开发人员想要利用HDF5库的功2021欧洲杯体育投注开户能直接在C或c++代码自己的包,而不是使用一个更高级别的接口等rhdf5包中。使用Rhdf5lib使生活更容易为用户,因为他们不必担心安装库在系统层面上,和开发人员,因为他们可以使用定义版本的库,而不是发展战略来应对潜在的多个版本。2021欧洲杯体育投注开户
有一个例子包,usingRhdf5lib,应该链接到演示了如何包Rhdf5lib。
链接成功HDF5库中Rhdf5lib一个包必须包括这两个一个src / Makevars.win
和src / Makevars
文件。
添加以下行来src / Makevars
和src / Makevars.win
RHDF5_LIBS = $(壳牌“$ {R_HOME} / bin / $ {R_ARCH_BIN} Rscript”- e \“Rhdf5lib: pkgconfig (“PKG_C_LIBS”)) PKG_LIBS = $ (RHDF5_LIBS)
为每个平台修改语句PKG_LIBS美元
变量。如果你的包需要添加额外的信息PKG_LIBS美元
通过添加的变量,这样做PKG_LIBS = $ (RHDF5_LIBS)
线,如
PKG_LIBS = $ (RHDF5_LIBS) - l /道路/ / foolib - lfoo
注意,使用$(壳……)
需要使用GNU制作,你需要这个需求明确在你包的描述文件通过入口:
SystemRequirements: GNU使
默认的行为Rhdf5lib: pkgconfig
是报告的位置共享库的结果吗系统。文件(“自由”,包=“Rhdf5lib”)
。如果这是不适合你的系统如集群共享文件系统,使用环境变量RHDF5LIB_RPATH
覆盖这对基础设施和设置一个适当的位置。
提供有效的选项pkgconfig ()
是:PKG_C_LIBS
,PKG_CXX_LIBS
,PKG_C_HL_LIBS
和PKG_CXX_HL_LIBS
。选择最适当的根据您的链接代码是否需要c++ API (C
vsCXX
)和/或HDF5高级的API (霍奇金淋巴瘤
)。选择选项,你不需要不应该损害性能,但会导致一个更大的图书馆和更大的内存使用您的应用程序,所以它是良好的实践只选择你所需要的功能。
为了使C / c++编译器找到HDF5头包安装期间,添加Rhdf5lib到链接字段的描述文件包,如。
链接:Rhdf5lib
在C或c++代码文件中,您可以使用标准的包括技术,例如:# include“hdf5.h”
或# include“H5Cpp.h”
。您可以手动检查头文件来检查他们的名字和声明的函数。来找到她们的位置在您的系统,您可以使用下面的代码:
系统。文件(包= " Rhdf5lib”,“包括”)
# # [1]“/ tmp / Rtmpgh1Ipv / Rinst1c846f5bd7f1df / Rhdf5lib /包括“
Rhdf5lib需要ZLIB压缩库安装在非windows平台上。如果安装失败的消息报道zlib.h不能被发现,可以在安装过程中显式地提供适当的路径通过吗configure.args
参数如。
BiocManager:安装(Rhdf5lib,配置。args =”——with-zlib = /路径/ / zlib /”)
在这里/ / zlib /路径
应该包含的目录吗包括/ zlib.h
和lib / libz.a
。例如,在一个典型的Ubuntu安装这可能是/usr/
而对于图书馆通过安装miniconda这个位置可以/home/<用户> / miniconda3 /
。
如果您已经配置了R(见链接时优化启用在这里),但希望关掉它的安装Rhdf5lib,您需要设置configure.args
和INSTALL_opts
参数如。
BiocManager::安装(Rhdf5lib, INSTALL_opts =”——no-use-LTO”配置。args = "——disable-lto”)
这是因为建筑Rhdf5lib包括第一次编译HDF5库,然后编译和链接R接口。的INSTALL_opts
参数影响后者的一部分,但是我们需要使用configure.args
确保HDF5库构建相同的设置。1使用”——enable-lto”
这里将没有影响。启用链接时R与优化必须已经配置——enable-lto
(见在这里)。
# # R版本以下4.4.1(2021-08-10)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.3 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= en_GB LC_COLLATE = C # # [5] LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US。utf - 8 # # [7] LC_PAPER = en_US。utf - 8 LC_NAME = C # # [9] LC_ADDRESS C = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # #[1]统计图形grDevices跑龙套数据集方法基础# # # #其他附加包:# # [1]BiocStyle_2.22.0 # # # #通过加载一个名称空间(而不是附加):# # [1]bookdown_0.24 digest_0.6.28 R6_2.5.1 # # [4] jsonlite_1.7.2 magrittr_2.0.1 evaluate_0.14 # # [7] stringi_1.7.5 rlang_0.4.12 jquerylib_0.1.4 # # [10] bslib_0.3.1 rmarkdown_2.11 tools_4.1.1 # # [13] stringr_1.4.0 xfun_0.27 yaml_2.2.1 # # [16] fastmap_1.1.0 compiler_4.1.1 BiocManager_1.30.16 # # [19] htmltools_0.5.2 knitr_1.36 sass_0.4.0