Mac上的RcppArmadillo 0.4.100.2.1

时间:2014-03-10 22:06:31

标签: c++ r rcpp

我今天刚刚将RcppArmadillo更新为0.4.100.2.1。我正在开发一个项目,我使用RcppArmadillo加速一些设计矩阵计算。但是,在更新到0.4.100.2.1之后,R将不再编译我的.cpp文件,并且收到大量错误消息:

In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:30:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:37:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:270:
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 2305843009213693951 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/Mat_meat.hpp:299:25: note: in instantiation of function template specialization 'arma::memory::acquire<double>' requested here
      access::rw(mem) = memory::acquire<eT>(new_n_elem);
                        ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/Mat_meat.hpp:5289:7: note: in instantiation of member function 'arma::Mat<double>::init_warm' requested here
      init_warm(in_elem, 1);
      ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_misc.hpp:42:7: note: in instantiation of member function 'arma::Mat<double>::set_size' requested here
    x.set_size(num);
      ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_misc.hpp:90:10: note: in instantiation of function template specialization 'arma::linspace<arma::Mat<double> >' requested here
  return linspace<mat>(start, end, num);
         ^
In file included from DesignMatrix.cpp:3:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:30:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:37:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:270:
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/Mat_meat.hpp:171:23: note: in instantiation of function template specialization 'arma::memory::acquire<int>' requested here
    access::rw(mem) = memory::acquire<eT>(n_elem);
                      ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/Mat_meat.hpp:67:3: note: in instantiation of member function 'arma::Mat<int>::init_cold' requested here
  init_cold();
  ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_randi.hpp:34:12: note: in instantiation of member function 'arma::Mat<int>::Mat' requested here
  obj_type out(n_rows, n_cols);
           ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_randi.hpp:92:10: note: in instantiation of function template specialization 'arma::randi<arma::Mat<int> >' requested here
  return randi<imat>(n_rows, n_cols, param);
         ^
In file included from DesignMatrix.cpp:3:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:30:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:37:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:270:
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/SpMat_meat.hpp:25:22: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned int>' requested here
  , col_ptrs(memory::acquire<uword>(2))
                     ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/fn_speye.hpp:49:10: note: in instantiation of member function 'arma::SpMat<double>::SpMat' requested here
  sp_mat out;
         ^
In file included from DesignMatrix.cpp:3:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadillo.h:30:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/RcppArmadilloForward.h:37:
In file included from /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo:270:
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 18446744073709551615 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/podarray_meat.hpp:363:11: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned char>' requested here
    mem = memory::acquire<eT>(new_n_elem);
          ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/podarray_meat.hpp:84:3: note: in instantiation of member function 'arma::podarray<unsigned char>::init_cold' requested here
  init_cold(new_n_elem);
  ^
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include/armadillo_bits/diskio_meat.hpp:565:27: note: in instantiation of member function 'arma::podarray<unsigned char>::podarray' requested here
  podarray<unsigned char> data(N);

该文件使用旧版本的RcppArmadillo编译(不记得版本,但可能从2013年11月左右开始)。我在运行OS 10.9的MacBook pro上使用R.

我不明白为什么在错误消息中提到了randi,因为我没有做任何随机数生成。

非常感谢任何帮助!

干杯亚当

更新:正如我所说的那样,旧版本的Rcpp / RcppArmadillo似乎没有问题(昨天我从2013年6月左右开始安装版本并且能够编译我的.cpp文件)。现在,当我安装第一个当前的Rcpp 0.11.0时,一切看起来都很正常。然后安装当前的RcppArmadillo 0.4.100.2.1后,我收到警告:

* installing *source* package ‘RcppArmadillo’ ...
** package ‘RcppArmadillo’ successfully unpacked and MD5 sums checked
* checking LAPACK_LIBS divide-and-conquer complex SVD unavailable via R-supplied LAPACK
* divide-and-conquer algorithm for complex SVD will be redirected to default
** libs
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"  -I../inst/include -I/opt/local/include    -fPIC  -stdlib=libc++ -std=c++11 -O3 -c RcppArmadillo.cpp -o RcppArmadillo.o
In file included from RcppArmadillo.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 2305843009213693951 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:299:25: note: in instantiation of function template specialization 'arma::memory::acquire<double>' requested here
      access::rw(mem) = memory::acquire<eT>(new_n_elem);
                        ^
../inst/include/armadillo_bits/Mat_meat.hpp:5289:7: note: in instantiation of member function 'arma::Mat<double>::init_warm' requested here
      init_warm(in_elem, 1);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:42:7: note: in instantiation of member function 'arma::Mat<double>::set_size' requested here
    x.set_size(num);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:90:10: note: in instantiation of function template specialization 'arma::linspace<arma::Mat<double> >' requested here
  return linspace<mat>(start, end, num);
         ^
In file included from RcppArmadillo.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:171:23: note: in instantiation of function template specialization 'arma::memory::acquire<int>' requested here
    access::rw(mem) = memory::acquire<eT>(n_elem);
                      ^
../inst/include/armadillo_bits/Mat_meat.hpp:67:3: note: in instantiation of member function 'arma::Mat<int>::init_cold' requested here
  init_cold();
  ^
../inst/include/armadillo_bits/fn_randi.hpp:34:12: note: in instantiation of member function 'arma::Mat<int>::Mat' requested here
  obj_type out(n_rows, n_cols);
           ^
../inst/include/armadillo_bits/fn_randi.hpp:92:10: note: in instantiation of function template specialization 'arma::randi<arma::Mat<int> >' requested here
  return randi<imat>(n_rows, n_cols, param);
         ^
In file included from RcppArmadillo.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/SpMat_meat.hpp:25:22: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned int>' requested here
  , col_ptrs(memory::acquire<uword>(2))
                     ^
../inst/include/armadillo_bits/fn_speye.hpp:49:10: note: in instantiation of member function 'arma::SpMat<double>::SpMat' requested here
  sp_mat out;
         ^
In file included from RcppArmadillo.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 18446744073709551615 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/podarray_meat.hpp:363:11: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned char>' requested here
    mem = memory::acquire<eT>(new_n_elem);
          ^
../inst/include/armadillo_bits/podarray_meat.hpp:84:3: note: in instantiation of member function 'arma::podarray<unsigned char>::init_cold' requested here
  init_cold(new_n_elem);
  ^
../inst/include/armadillo_bits/diskio_meat.hpp:565:27: note: in instantiation of member function 'arma::podarray<unsigned char>::podarray' requested here
  podarray<unsigned char> data(N);
                          ^
4 warnings generated.
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"  -I../inst/include -I/opt/local/include    -fPIC  -stdlib=libc++ -std=c++11 -O3 -c RcppExports.cpp -o RcppExports.o
In file included from RcppExports.cpp:4:
In file included from ./../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 2305843009213693951 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:299:25: note: in instantiation of function template specialization 'arma::memory::acquire<double>' requested here
      access::rw(mem) = memory::acquire<eT>(new_n_elem);
                        ^
../inst/include/armadillo_bits/Mat_meat.hpp:5289:7: note: in instantiation of member function 'arma::Mat<double>::init_warm' requested here
      init_warm(in_elem, 1);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:42:7: note: in instantiation of member function 'arma::Mat<double>::set_size' requested here
    x.set_size(num);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:90:10: note: in instantiation of function template specialization 'arma::linspace<arma::Mat<double> >' requested here
  return linspace<mat>(start, end, num);
         ^
In file included from RcppExports.cpp:4:
In file included from ./../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:171:23: note: in instantiation of function template specialization 'arma::memory::acquire<int>' requested here
    access::rw(mem) = memory::acquire<eT>(n_elem);
                      ^
../inst/include/armadillo_bits/Mat_meat.hpp:67:3: note: in instantiation of member function 'arma::Mat<int>::init_cold' requested here
  init_cold();
  ^
../inst/include/armadillo_bits/fn_randi.hpp:34:12: note: in instantiation of member function 'arma::Mat<int>::Mat' requested here
  obj_type out(n_rows, n_cols);
           ^
../inst/include/armadillo_bits/fn_randi.hpp:92:10: note: in instantiation of function template specialization 'arma::randi<arma::Mat<int> >' requested here
  return randi<imat>(n_rows, n_cols, param);
         ^
In file included from RcppExports.cpp:4:
In file included from ./../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/SpMat_meat.hpp:25:22: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned int>' requested here
  , col_ptrs(memory::acquire<uword>(2))
                     ^
../inst/include/armadillo_bits/fn_speye.hpp:49:10: note: in instantiation of member function 'arma::SpMat<double>::SpMat' requested here
  sp_mat out;
         ^
In file included from RcppExports.cpp:4:
In file included from ./../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 18446744073709551615 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/podarray_meat.hpp:363:11: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned char>' requested here
    mem = memory::acquire<eT>(new_n_elem);
          ^
../inst/include/armadillo_bits/podarray_meat.hpp:84:3: note: in instantiation of member function 'arma::podarray<unsigned char>::init_cold' requested here
  init_cold(new_n_elem);
  ^
../inst/include/armadillo_bits/diskio_meat.hpp:565:27: note: in instantiation of member function 'arma::podarray<unsigned char>::podarray' requested here
  podarray<unsigned char> data(N);
                          ^
4 warnings generated.
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"  -I../inst/include -I/opt/local/include    -fPIC  -stdlib=libc++ -std=c++11 -O3 -c fastLm.cpp -o fastLm.o
In file included from fastLm.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 2305843009213693951 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:299:25: note: in instantiation of function template specialization 'arma::memory::acquire<double>' requested here
      access::rw(mem) = memory::acquire<eT>(new_n_elem);
                        ^
../inst/include/armadillo_bits/Mat_meat.hpp:5289:7: note: in instantiation of member function 'arma::Mat<double>::init_warm' requested here
      init_warm(in_elem, 1);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:42:7: note: in instantiation of member function 'arma::Mat<double>::set_size' requested here
    x.set_size(num);
      ^
../inst/include/armadillo_bits/fn_misc.hpp:90:10: note: in instantiation of function template specialization 'arma::linspace<arma::Mat<double> >' requested here
  return linspace<mat>(start, end, num);
         ^
In file included from fastLm.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/Mat_meat.hpp:171:23: note: in instantiation of function template specialization 'arma::memory::acquire<int>' requested here
    access::rw(mem) = memory::acquire<eT>(n_elem);
                      ^
../inst/include/armadillo_bits/Mat_meat.hpp:67:3: note: in instantiation of member function 'arma::Mat<int>::init_cold' requested here
  init_cold();
  ^
../inst/include/armadillo_bits/fn_randi.hpp:34:12: note: in instantiation of member function 'arma::Mat<int>::Mat' requested here
  obj_type out(n_rows, n_cols);
           ^
../inst/include/armadillo_bits/fn_randi.hpp:92:10: note: in instantiation of function template specialization 'arma::randi<arma::Mat<int> >' requested here
  return randi<imat>(n_rows, n_cols, param);
         ^
In file included from fastLm.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 4611686018427387903 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/SpMat_meat.hpp:25:22: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned int>' requested here
  , col_ptrs(memory::acquire<uword>(2))
                     ^
../inst/include/armadillo_bits/fn_speye.hpp:49:10: note: in instantiation of member function 'arma::SpMat<double>::SpMat' requested here
  sp_mat out;
         ^
In file included from fastLm.cpp:22:
In file included from ../inst/include/RcppArmadillo.h:30:
In file included from ../inst/include/RcppArmadilloForward.h:37:
In file included from ../inst/include/armadillo:270:
../inst/include/armadillo_bits/memory.hpp:55:14: warning: comparison of constant 18446744073709551615 with expression of type 'const uword' (aka 'const unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
    ( n_elem > (std::numeric_limits<size_t>::max() / sizeof(eT)) ),
      ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/armadillo_bits/podarray_meat.hpp:363:11: note: in instantiation of function template specialization 'arma::memory::acquire<unsigned char>' requested here
    mem = memory::acquire<eT>(new_n_elem);
          ^
../inst/include/armadillo_bits/podarray_meat.hpp:84:3: note: in instantiation of member function 'arma::podarray<unsigned char>::init_cold' requested here
  init_cold(new_n_elem);
  ^
../inst/include/armadillo_bits/diskio_meat.hpp:565:27: note: in instantiation of member function 'arma::podarray<unsigned char>::podarray' requested here
  podarray<unsigned char> data(N);
                          ^
4 warnings generated.
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o RcppArmadillo.so RcppArmadillo.o RcppExports.o fastLm.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64 -L/usr/local/lib/x86_64 -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3 -lgfortran -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RcppArmadillo)

所以RcppArmadillo安装,但警告仍然存在。事实上,警告类似于昨天发布的警告。我不明白这些警告,我仍然无法编译我的(以前可编译的).cpp文件。最后,我能够编译不依赖于RcppArmadillo的.cpp文件,所以我认为这实际上是一个RcppArmadillo问题。

编辑:我的.cpp文件现在编译,但警告仍在那里。我被告知它可能与最近的犰狳更新有关 - 所以不是Rcpp / RcppArmadillo问题!

0 个答案:

没有答案
相关问题