【发布时间】:2018-02-23 11:24:57
【问题描述】:
我正在尝试使用 Rcpparmadillo 获取特征值,如下例所示:[http://gallery.rcpp.org/articles/armadillo-eigenvalues]
当我通过 cppFunction 实现它时,它工作正常。但是,当我创建一个 .cpp 文件并尝试将其合并到我的包中时,在编译过程中出现以下错误:
C:/Users/Administrator/Documents/R/win-library/3.4/RcppArmadillo/include/armadillo_bits/compiler_setup.hpp:474:96:注意:#pragma message: WARNING: use of OpenMP disabled;此编译器不支持 OpenMP 3.0+ #pragma 消息(“警告:禁用 OpenMP 的使用;此编译器不支持 OpenMP 3.0+”) ^ C:/RBuildTools/3.4/mingw_64/bin/g++ -shared -s -static-libgcc -o test.dll tmp.def RcppExports.o binarize_matrix.o char_uniqueC.o colSumsBinaryC.o colSumsC.o df_to_gbi1.o df_to_gbi_focal.o dimC 。 lapplyC.o levelsC.o matchC.o perm_for_data_stream1C.o perm_for_data_stream_Control_factor.o randomization_vetor.o rcpp_hello.o rcpp_hello_world.oreachC.oreachC2.o rowSumsBinaryC.o rowSumsC.o strengthC.ostrengthSymC.o sumC.o sup_0.o unmatchC. o vector_multiplication.o -Ld:/Compiler/gcc-4.9.3/local330/lib/x64 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-34~ 1.1/bin/x64 -lR ei.o:ei.cpp:(.text$_ZN4arma6auxlib7eig_symIdNS_3MatIdEEEEbRNS_3ColIT_EERKNS_4BaseIS5_T0_EE[_ZN4arma6auxlib7eig_symIdNS_3MatIdEEEEbRNS_3ColIT_EERKNS_4BaseIS5_T0_EE]+0x5fa):未定义对`dsyev_'的引用 collect2.exe:错误:ld 返回 1 退出状态 没有创建 DLL
编辑 1 我使用的代码与 url 上的代码相同:
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
arma::vec ei(arma::mat M) {
return arma::eig_sym(M);
}
我使用的是 Windows 10、Rstudio 和 R-3.4.1、RcppArmadillo 0.7.960.1.2、Rcpp 0.12.12
编辑2
对不起。仅当我添加此功能时才会出现错误。这似乎是错误:
ei.o:ei.cpp:(.text$_ZN4arma6auxlib7eig_symIdNS_3MatIdEEEEbRNS_3ColIT_EERKNS_4BaseIS5_T0_EE[_ZN4arma6auxlib7eig_symIdNS_3MatIdEEEEbRNS_3ColIT_EERKNS_4BaseIS5_T0_EE]+0x5fa): 未定义引用`dsyev_' collect2.exe:错误:ld 返回 1 退出状态 没有创建 DLL 错误:包'test'的编译失败
好像和编译器有关,之前我也是这样的:
C:/Users/Administrator/Documents/R/win-library/3.4/RcppArmadillo/include/armadillo_bits/compiler_setup.hpp:474:96:注意:#pragma message: WARNING: use of OpenMP disabled;此编译器不支持 OpenMP 3.0+ #pragma 消息(“警告:已禁用 OpenMP;此编译器不支持 OpenMP 3.0+”)
有人可以帮帮我吗?
提前感谢您的帮助
【问题讨论】:
-
不可重现、不完整、格式不佳,让我们更容易为您提供帮助。
-
嗨 Dirk Eddelbuettel,我更新了我的帖子,如果需要,我准备提供更多详细信息。
-
来吧——错误信息列出了十几个文件,但您却说无法复制图库帖子。这些是不同的东西所以不要假装它们是。而且您的错误消息仍然无法阅读。不要在上面使用降价报价。