You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中无法使用brms包:编译Stan程序时链接错误求助

解决brms调用时Stan编译的TBB链接错误

错误信息中的undefined reference to tbb::internal::task_scheduler_observer_v3::observe(bool)表明链接器无法找到TBB(Threading Building Blocks)库的相关符号,属于编译环境配置问题,可按以下步骤解决:

  • 设置临时编译环境变量
    在R控制台运行以下代码,强制指定TBB库的路径并链接:

    options(mc.cores = parallel::detectCores())
    Sys.setenv(LOCAL_CPPFLAGS = '-I"C:/rtools42/x86_64-w64-mingw32.static.posix/include"')
    Sys.setenv(LOCAL_LIBS = '-L"C:/rtools42/x86_64-w64-mingw32.static.posix/lib" -ltbb')
    

    运行后重新尝试加载brms或编译模型。

  • 修改持久化编译配置
    如果临时变量无效,可创建/修改Windows系统下的.R/Makevars.win文件(位于你的用户目录,比如C:\Users\[你的用户名]\.R),添加以下内容:

    CXX14FLAGS += -mtune=native -O3 -Wall -Wno-unused-variable -Wno-unused-function
    CXX14 = g++ -std=c++1y
    LDFLAGS += -ltbb
    

    保存后重启R。

  • 验证RTools与R版本兼容性

    • 确认RTools42匹配你的R 4.2.3版本(R 4.3+需使用RTools43)
    • 检查RStudio的「工具→全局选项→终端」,确保默认终端为RTools自带的Git Bash,且RTools的bin路径已添加到系统环境变量中
  • 重装依赖包
    卸载现有版本后从源码重装,确保编译时正确链接TBB:

    remove.packages(c("brms", "rstan"))
    install.packages("rstan", type = "source")
    install.packages("brms", type = "source")
    

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:53:12