使用Rcpp进行轮廓引导优化

时间:2017-06-28 11:06:53

标签: gcc rcpp

尝试使用标志进行编译时出现以下错误:

Error in dyn.load(dllfile) : 
  unable to load shared object '/home/Projects/RBOrB/src/RBOrB.so':
  /home/Projects/RBOrB/src/RBOrB.so: undefined symbol: __gcov_merge_add

我的Makevars看起来像这样:

CXXFLAGS += -O3 -march=native -fprofile-generate
PKG_CXXFLAGS += -O3 -std=c++11 -march=native -fprofile-generate
PKG_LIBS += $(shell ${R_HOME}/bin/Rscript -e "RcppParallel::RcppParallelLibs()") $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

R不支持这个还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

建议:

  1. 在CXXFLAGS和PKG_CXXFLAGS中使用相同的-std = c ++ 11
  2. 快速谷歌建议-fprofile-generate需要相应的链接标志。你能否确认-fprofile-generate也出现在链接命令中?
  3. 确认一切正常,没有个人资料标记。
  4. 从内存来看,我不确定设置CXXFLAGS是否真的有效。我相信您的更改可能会被覆盖。