I am trying to compile mFAST library on my Windows 10 system.
I am using VS Code as IDE, and GCC(ucrt64) compiler from MSYS64 to build the library.
I have downloaded and unpacked unix version of boost from boost.org.
Then, in the build sub0directory, I run cmake using command cmake .. -G "Unix Makefiles" -DBOOST_ROOT=C:\unix_Boost_1.83.0\boost_1_83_0 . The output is:
--The CXX compiler identification is GNU 13.2.0`
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/ucrt64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: C:/unix_Boost_1.83.0/boost_1_83_0 (found suitable version "1.83.0", minimum required is "1.56.0")
-- CMAKE_COMMAND: C:/Program Files/CMake/bin/cmake.exe
-- CMAKE_SYSTEM: Windows-10.0.19045
-- CMAKE_SYSTEM_PROCESSOR: AMD64
-- CMAKE_CXX_COMPILER: C:/msys64/ucrt64/bin/c++.exe
-- CMAKE_CXX_FLAGS:
-- CMAKE_BUILD_TYPE: Debug
-- BUILD_SHARED_LIBS: OFF
-- BUILD_TESTS: ON
-- BUILD_EXAMPLES: ON
-- BUILD_PACKAGES: ON
-- Configuring done
-- Generating done
-- Build files have been written to: D:/mFAST/build
After that, make output is:
[ 1%] Building CXX object src/mfast/CMakeFiles/mfast_static.dir/allocator.cpp.obj
[ 2%] Building CXX object src/mfast/CMakeFiles/mfast_static.dir/arena_allocator.cpp.obj
[ 2%] Building CXX object src/mfast/CMakeFiles/mfast_static.dir/boolean_ref.cpp.obj
[ 3%] Building CXX object src/mfast/CMakeFiles/mfast_static.dir/decimal_ref.cpp.obj
D:/mFAST/src/mfast/decimal_ref.cpp:24:15: error: template-id 'hash_combine<boost::multiprecision::backends::cpp_dec_float<18>::enum_fpclass_type>' for
'void boost::hash_combine(long unsigned int&, const multiprecision::backends::cpp_dec_float<18>::enum_fpclass_type&)' does not match any template declaration
24 | template void boost::hash_combine<boost::multiprecision::backends::cpp_dec_float<18u, int, void>::enum_fpclass_type>(unsigned long&, boost::multiprecision::backends::cpp_dec_float<18u, int, void>::enum_fpclass_type const&);
| ^~~~~
In file included from C:/win_Boost_1.83.0/boost_1_83_0/boost/functional/hash.hpp:6,
from D:/mFAST/src/mfast/decimal_ref.cpp:18:
C:/win_Boost_1.83.0/boost_1_83_0/boost/container_hash/hash.hpp:561:17: note: candidate is: 'template<class T> void boost::hash_combine(std::size_t&, const
T&)'
561 | inline void hash_combine( std::size_t& seed, T const& v )
| ^~~~~~~~~~~~
D:/mFAST/src/mfast/decimal_ref.cpp:26:15: error: template-id 'hash_combine<bool>' for 'void boost::hash_combine(long unsigned int&, const bool&)' does
not match any template declaration
26 | template void boost::hash_combine<bool>(unsigned long&, bool const&);
| ^~~~~
C:/win_Boost_1.83.0/boost_1_83_0/boost/container_hash/hash.hpp:561:17: note: candidate is: 'template<class T> void boost::hash_combine(std::size_t&, const
T&)'
561 | inline void hash_combine( std::size_t& seed, T const& v )
| ^~~~~~~~~~~~
D:/mFAST/src/mfast/decimal_ref.cpp:27:15: error: template-id 'hash_combine<int>' for 'void boost::hash_combine(long unsigned int&, const int&)' does not match any template declaration
27 | template void boost::hash_combine<int>(unsigned long&, int const&);
| ^~~~~
C:/win_Boost_1.83.0/boost_1_83_0/boost/container_hash/hash.hpp:561:17: note: candidate is: 'template<class T> void boost::hash_combine(std::size_t&, const
T&)'
561 | inline void hash_combine( std::size_t& seed, T const& v )
| ^~~~~~~~~~~~
D:/mFAST/src/mfast/decimal_ref.cpp:28:15: error: template-id 'hash_combine<unsigned int>' for 'void boost::hash_combine(long unsigned int&, const unsigned int&)' does not match any template declaration
28 | template void boost::hash_combine<unsigned int>(unsigned long&, unsigned int const&);
| ^~~~~
C:/win_Boost_1.83.0/boost_1_83_0/boost/container_hash/hash.hpp:561:17: note: candidate is: 'template<class T> void boost::hash_combine(std::size_t&, const
T&)'
561 | inline void hash_combine( std::size_t& seed, T const& v )
| ^~~~~~~~~~~~
make[2]: *** [src/mfast/CMakeFiles/mfast_static.dir/build.make:122: src/mfast/CMakeFiles/mfast_static.dir/decimal_ref.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:311: src/mfast/CMakeFiles/mfast_static.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I am trying to compile mFAST library on my Windows 10 system.
I am using VS Code as IDE, and GCC(ucrt64) compiler from MSYS64 to build the library.
I have downloaded and unpacked unix version of boost from boost.org.
Then, in the build sub0directory, I run cmake using command
cmake .. -G "Unix Makefiles" -DBOOST_ROOT=C:\unix_Boost_1.83.0\boost_1_83_0
. The output is:After that,
make
output is:Please help on how to resolve this error.