我可以确认 Makevars 文件非常有用(特别是如果您需要使用“-L/my/libs”或“-I/my/includes”或其他构建标志)。
对于构建,如果要为站点/机器设置选项,还可以更改Makeconf文件 (/path/R/install/[lib64/R/]etc/Makeconf) 中的变量。
不过,如果你和我一样,以后在管理和使用库方面还有一些问题,你也可以使用ldpaths文件 [1] 来设置库。此文件包含 R 使用的 R_LD_LIBRARY_PATH。此变量等效于 unix [2] 上众所周知的 LD_LIBRARY_PATH。
我刚刚在这个文件(/path/R/install/[lib64/R/]etc/ldpaths)中添加了一些内容(就在MacOS / Darwin的评论之前):
if test -n "${LD_LIBRARY_PATH}"; then
R_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${R_LD_LIBRARY_PATH}"
fi
## This is DYLD_FALLBACK_LIBRARY_PATH on Darwin (OS X) and
然后,您将能够动态地管理您的库,例如使用“环境模块”或“lmod”。
请注意,您可以使用该 config/etc 目录中的所有文件(Renviron、存储库、javaconf、Rprofile.site ...)更改许多其他环境和 R 变量。
[1] https://support.rstudio.com/hc/en-us/community/posts/200645248-Setting-up-LD-LIBRARY-PATH-for-a-rsession
[2] http://www.tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html