-
Notifications
You must be signed in to change notification settings - Fork 28
Known Issues and fix
-
Bugs about invoke_result:
build/include/eigen3/Eigen/src/Core/util/Meta.h:617:25: error: ‘invoke_result’ in namespace ‘std’ does not name a template type
-
This is a bug caused by not compiling with c++17. However, although the CMAKE_CXX_STANDARD flag is 17 in the CMakeList.txt, the bug still exists. The probable solution is to comment these lines in the head files, e.g., when compiling, change the code from
#if EIGEN_HAS_STD_INVOKE_RESULT template<typename F, typename... ArgTypes> struct invoke_result { typedef typename std::invoke_result<F, ArgTypes...>::type type1; typedef typename remove_all<type1>::type type; }; #elif EIGEN_HAS_CXX11 template<typename F, typename... ArgTypes> struct invoke_result { typedef typename result_of<F(ArgTypes...)>::type type1; typedef typename remove_all<type1>::type type; }; #else template<typename F, typename ArgType0 = void, typename ArgType1 = void, typename ArgType2 = void> struct invoke_result { typedef typename result_of<F(ArgType0, ArgType1, ArgType2)>::type type1; typedef typename remove_all<type1>::type type; };
to
/*#if EIGEN_HAS_STD_INVOKE_RESULT template<typename F, typename... ArgTypes> struct invoke_result { typedef typename std::invoke_result<F, ArgTypes...>::type type1; typedef typename remove_all<type1>::type type; };*/ #if EIGEN_HAS_CXX11 template<typename F, typename... ArgTypes> struct invoke_result { typedef typename result_of<F(ArgTypes...)>::type type1; typedef typename remove_all<type1>::type type; }; #else template<typename F, typename ArgType0 = void, typename ArgType1 = void, typename ArgType2 = void> struct invoke_result { typedef typename result_of<F(ArgType0, ArgType1, ArgType2)>::type type1; typedef typename remove_all<type1>::type type; };
You can do the same thing in other files when this bug emerges.
-
-
If the bugs related to Eigen3 still exist, it may be a good idea to compile Eigen from source.
-
Bugs about freetype2 (I guess it may be caused by HarfBuzz), the error may emerge as:
SceneGraphFusion/build/external/FreeType2/src/autofit/afscript.h:35:11: error: ‘HB_SCRIPT_ADLAM’ undeclared here (not in a function)
andSceneGraphFusion/build/external/FreeType2/src/autofit/afscript.h:278:11: error: ‘HB_SCRIPT_OSAGE’ undeclared here (not in a function)
- The temporary solution is to find out the associated lines in these head files and comment them. Another head file is
afstyle.h
.
- The temporary solution is to find out the associated lines in these head files and comment them. Another head file is
- When running the executable file, you should put the
3RScan.json
andobjects.json
(from 3DSSG) under the correct directory. E.g., if the --pth_in isscans/sequence_idxxxx/sequence/
, you should put these two files underscans/
The issues and fixed are provided by Kenneth-Wong