primihub / hehub

HEhub is a library for homomorphic encryption and its applications, and is part of the PrimiHub project.
Apache License 2.0
88 stars 18 forks source link

Cmake 报错 #8

Open kycsh123 opened 1 year ago

kycsh123 commented 1 year ago

再执行cmake --build build 报错如下: ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:182:36: note: 'ranges::_::begin' RANGES_DEFINE_CPO(begin::fn, begin) ^~~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO' inline constexpr type name{}; \ ^~~~ In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/all.hpp:22, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:27, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:85:14: note: 'ranges::begin::begin' void begin(std::initializer_list) = delete; ^~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: error: 'end' was not declared in this scope for (auto &m : moduli_doubled) { ^~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: note: s uggested alternatives: In file included from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.h:40, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ios_base.h:41, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/ios:42, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/istream:38, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/sstream:38, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/complex:45, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\t ype_defs.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\a llocator.h:3, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:1: D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32 /8.1.0/include/c++/bits/range_access.h:107:37: note: 'std::end' template const _Tp end(const valarray<_Tp>&); ^~~ In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/all.hpp:22, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:27, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:197:14: note: 'ranges::end::end' void end(std::initializer_list) = delete; ^~~ In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/range_fwd.hpp:25, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:22, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m odarith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:313:34: note: 'ranges::::end' RANGES_DEFINE_CPO(end::fn, end) ^~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINECPO' inline constexpr type name{}; \ ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:313:34: note: 'ranges::::end' RANGES_DEFINE_CPO(end::fn, end) ^~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO' inline constexpr type name{}; \ ^~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:17: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) self[k][i] += moduli_doubled[k] - b[k][i]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:43: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript self[k][i] += modulidoubled[k] - b[k][i]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:48: error: no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size t' {aka 'long long unsigned int'}) self[k][i] += moduli_doubled[k] - b[k][i]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:112:17: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) self[k][i] -= ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:22: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) (self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:48: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript (self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:69: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript (self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'h ehub::RnsIntVec hehub::operator(const hehub::RnsIntVec&, const hehub::RnsIntVec &)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:127:12: error: request for member 'resize' in 'moduli', which is of non-class type 'int' moduli.resize(components); ^~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:128:14: error: request for member 'resize' in 'b_moduli', which is of non-class type 'int' b_moduli.resize(components); ^~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:45: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(), ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:60: error: no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size t' {aka 'long long unsigned int'}) batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(), ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:38: error: no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size t' {aka 'long long unsigned int'}) b[k].data(), result[k].data()); ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:56: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) b[k].data(), result[k].data()); ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop e: D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:142:52: error: 'u64' does not name a type const RnsIntVec &operator=(RnsIntVec &self, const u64 small_scalar) { ^~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c onst hehub::RnsIntVec& hehub::operator=(hehub::RnsIntVec&, int)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:144:39: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript auto currmod = self.moduli[k]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:147:32: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) for (auto &coeff : self[k]) { ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: error: 'mul_mod_harvey_lazy' was not declared in this scope coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: note: s uggested alternative: 'batched_barrett_lazy' coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ batched_barrett_lazy D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop e: D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:47: error: 'u64' was not declared in this scope const std::vector &rns_scalar) { ^~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error: template argument 1 is invalid const std::vector &rns_scalar) { ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error: template argument 2 is invalid D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c onst hehub::RnsIntVec& hehub::operator*=(hehub::RnsIntVec&, const int&)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:157:20: error: request for member 'size' in 'rns_scalar', which is of non-class type 'const int ' if (rns_scalar.size() != self.component_count()) { ^~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:162:39: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript auto currmod = self.moduli[k]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:163:43: error: invalid types 'const int[size_t {aka long long unsigned int}]' for array subscri pt auto scalar_reduced = rns_scalar[k] % curr_mod; // need opt? ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:165:32: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) for (auto &coeff : self[k]) { ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: error: 'mul_mod_harvey_lazy' was not declared in this scope coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: note: s uggested alternative: 'batched_barrett_lazy' coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ batched_barrett_lazy D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 's td::ostream& hehub::operator<<(std::ostream&, const hehub::RnsIntVec&)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:179:58: error: no match for call to '(const ranges::views::zip_fn) (const hehub::RnsIntVec&, co nst int&)' for (auto [component, modulus] : zip(rns_poly, moduli)) { ^ In file included from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:133:48: note: candidate: 'constexpr ranges::empty_view<std::tuple<> > range s::views::zip_fn::operator()() const' constexpr empty_view<std::tuple<>> operator()() const noexcept ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:133:48: note: candidate expects 0 arguments, 2 provided D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:141:38: note: candidate: 'template<class ... Rngs, bool CPP_true, typename std::enable_if<(and_v<viewable_range...> && CPP_true), int>::type <anonymo us>, typename std::enable_if<(and_v<input_range...> && CPP_true), int>::ty pe , typename std::enable_if<((sizeof... (Rngs) != 0) && CPP_true), i nt>::type > ranges::zip_view<ranges::views::all_t...> ranges:: views::zip_fn::operator()(Rngs&& ...) const' zip_view<all_t...> operator()(Rngs &&... rngs) const ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:141:38: note: template argument deduction/substitution failed: In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/range_fwd.hpp:22, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:22, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:334:35: error: no type named 'type' in 'struct std::enable_if<false, int>' && CPP_BOOL(CPP_true), int> = 0, std::enable_if_t< ^ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:66:35: note: in definition of macro 'CPP_PPCAT'

define CPP_PPCAT(X, ...) X ## __VA_ARGS__

                               ^~~~~~~~~~~

D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:299:9: note: in expansion of macro 'CPP_PP_CAT' CPP_PP_CAT(CPP_TEMPLATE_SFINAE_AUX3, __VA_ARGS__) && \ ^~~~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:66:30: note: in expansion of macro 'CPP_TEMPLATE_SFINAE_AUX_0'

define CPP_PPCAT(X, ...) X ## __VA_ARGS__

                          ^

D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:270:27: note: in expansion of macro 'CPP_TEMPLATE_SFINAEAUX'

define CPP_TEMPLATEAUX CPP_TEMPLATE_SFINAEAUX

                       ^~~~~~~~~~~~~~~~~~~~~~~~

D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:195:17: note: in expansion of macro 'CPP_and_sfinae'

define CPP_and CPP_and_sfinae

             ^~~~~~~~~~~~~~

D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/p rologue.hpp:37:13: note: in expansion of macro 'CPP_and'

define AND CPP_and

         ^~~~~~~

D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:138:57: note: in expansion of macro 'AND' requires and_v<viewable_range...> AND ^~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:181:34: error: unable to deduce 'auto&&' from 'component' for (const auto &coeff : component) { ^~~~~ mingw32-make.exe[2]: [src\fhe\CMakeFiles\hehub.dir\build.make:76: src/fhe/CM akeFiles/hehub.dir/common/rns.cpp.obj] Error 1 mingw32-make.exe[1]: [CMakeFiles\Makefile2:273: src/fhe/CMakeFiles/hehub.dir /all] Error 2 mingw32-make.exe: *** [Makefile:135: all] Error 2