对 RcppArmadillo 的未定义引用
undefined reference to RcppArmadillo
我是 Rcpp 的新手。我正在寻求有关以下问题的帮助。 RcppArmadillo 似乎不起作用。有人可以给我一些建议吗?
非常感谢!
g++ -m64 -I"D:/R/R-32~1.5/include" -DNDEBUG -I"D:/R/R-3.2.5/library/Rcpp/include" -I"D:/R/R-3.2.5/library/RcppArmadillo/include" -I"D:/R/R-3.2.5/library/RcppProgress/include" -I"D:/R/Rcode/Replicating/src" -I"D:/R/Rcode/Replicating/inst/include" -I"d:/RCompile/r-compiling/local/local323/include" -O2 -Wall -mtune=core2 -c test.cpp -o test.o
In file included from D:/R/R-3.2.5/library/RcppProgress/include/progress.hpp:13:0,
from test.cpp:7:
D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:101:0: warning: ignoring #pragma omp critical [-Wunknown-pragmas]
D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:147:0: warning: ignoring #pragma omp atomic [-Wunknown-pragmas]
D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:153:0: warning: ignoring #pragma omp critical [-Wunknown-pragmas]
g++ -m64 -shared -s -static-libgcc -o sourceCpp_7.dll tmp.def test.o -LD:/R/R-32~1.5/bin/x64 -lRlapack -LD:/R/R-32~1.5/bin/x64 -lRblas -lgfortran -Ld:/RCompile/r-compiling/local/local323/lib/x64 -Ld:/RCompile/r-compiling/local/local323/lib -LD:/R/R-32~1.5/bin/x64 -lR
test.o:test.cpp:(.text+0x61ee):
undefined reference to `mvrnormArma(arma::Col, arma::Mat, int)'
test.o:test.cpp:(.text+0x6d0e): undefined reference to `mvrnormArma(arma::Col, arma::Mat, int)'
collect2: ld returned 1 exit status
这看起来像是忘记更新 src/Makevars
和此处 src/Makevars.win
以包含
的常见且明显的错误
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
以便需要 LAPACK 和 BLAS 功能。
对于它的价值,如果您选择从 RcppArmadillo.package.skeleton()
开始,这也会自动 为您添加,这通常是推荐的。
我是 Rcpp 的新手。我正在寻求有关以下问题的帮助。 RcppArmadillo 似乎不起作用。有人可以给我一些建议吗? 非常感谢!
g++ -m64 -I"D:/R/R-32~1.5/include" -DNDEBUG -I"D:/R/R-3.2.5/library/Rcpp/include" -I"D:/R/R-3.2.5/library/RcppArmadillo/include" -I"D:/R/R-3.2.5/library/RcppProgress/include" -I"D:/R/Rcode/Replicating/src" -I"D:/R/Rcode/Replicating/inst/include" -I"d:/RCompile/r-compiling/local/local323/include" -O2 -Wall -mtune=core2 -c test.cpp -o test.o
In file included from D:/R/R-3.2.5/library/RcppProgress/include/progress.hpp:13:0, from test.cpp:7: D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:101:0: warning: ignoring #pragma omp critical [-Wunknown-pragmas]
D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:147:0: warning: ignoring #pragma omp atomic [-Wunknown-pragmas]
D:/R/R-3.2.5/library/RcppProgress/include/interruptable_progress_monitor.hpp:153:0: warning: ignoring #pragma omp critical [-Wunknown-pragmas]
g++ -m64 -shared -s -static-libgcc -o sourceCpp_7.dll tmp.def test.o -LD:/R/R-32~1.5/bin/x64 -lRlapack -LD:/R/R-32~1.5/bin/x64 -lRblas -lgfortran -Ld:/RCompile/r-compiling/local/local323/lib/x64 -Ld:/RCompile/r-compiling/local/local323/lib -LD:/R/R-32~1.5/bin/x64 -lR
test.o:test.cpp:(.text+0x61ee): undefined reference to `mvrnormArma(arma::Col, arma::Mat, int)'
test.o:test.cpp:(.text+0x6d0e): undefined reference to `mvrnormArma(arma::Col, arma::Mat, int)'
collect2: ld returned 1 exit status
这看起来像是忘记更新 src/Makevars
和此处 src/Makevars.win
以包含
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
以便需要 LAPACK 和 BLAS 功能。
对于它的价值,如果您选择从 RcppArmadillo.package.skeleton()
开始,这也会自动 为您添加,这通常是推荐的。