MacBookにhomebrewを使用してPCLをインストールしました。私はCMakeLists.txtファイルを作成するためにコンパイルしたいコードもいくつか持っています。しかし、私はブーストライブラリに関するいくつかのエラーを取得します。PCLを使用したMacでのコンパイルエラーのエラー
私はエラーを取得:
/usr/local/include/boost/random/detail/polynomial.hpp:267:13: error: use of undeclared identifier 'sqr'; did you mean 'sqrt'? sqr(out, n);
私は、ファイルpolynomial.hppで見たとき、私は以下の機能を見ることができます:
原因となる関数呼び出しの上に宣言されているstatic digit_t sqr(digit_t val) {
const std::size_t bits = std::numeric_limits<digit_t>::digits;
digit_t mask = (digit_t(1) << bits/2) - 1;
for(std::size_t i = bits; i > 1; i /= 2) {
val = ((val & ~mask) << i/2) | (val & mask);
mask = mask & (mask >> i/4);
mask = mask | (mask << i/2);
}
return val;
}
static void sqr(digit_t * val, std::size_t size)
{
const std::size_t bits = std::numeric_limits<digit_t>::digits;
digit_t mask = (digit_t(1) << bits/2) - 1;
for(std::size_t i = 0; i < size; ++i) {
digit_t x = val[size - i - 1];
val[(size - i - 1) * 2] = sqr(x & mask);
val[(size - i - 1) * 2 + 1] = sqr(x >> bits/2);
}
}
を問題。
機能が存在しているようで、問題を引き起こすのはBoostライブラリのコードなので、どのように進むべきかわかりません。
Linuxでこのような問題は発生していませんが、これはPCL 1.7のためのものですが、これはPCL 1.8です。
/erik