我从 Writing R Extensions 手册中阅读了一些内容,但我不太明白 - 我在 makevars 中将 -fopenmp 标志放在哪里?我可以设置
PKG_FCFLAGS = -fopenmp
编译得很好。但我不确定我是否也应该为PKG_LIBS
and设置它PKG_CPPFLAGS
?
当我尝试PKG_LIBS
它给我一个错误
i686-apple-darwin8-gfortran-4.2: libgomp.spec: No such file or directory
但是,如果我只是在其中使用它,PKG_FCFLAGS
即使它编译得很好,当我尝试在 R 中使用该例程时,它会说
Error in dyn.load("correlate.so") :
unable to load shared object '/Users/Steven/Documents/PhD/npsR/correlate.so':
dlopen(/Users/Steven/Documents/PhD/npsR/correlate.so, 6): Symbol not found: _GOMP_parallel_end
Referenced from: /Users/Steven/Documents/PhD/npsR/correlate.so
Expected in: dynamic lookup
所以很明显 gomp 库没有正确链接。有任何想法吗?
干杯。