nmoehrle / mvs-texturing

Algorithm to texture 3D reconstructions from multi-view stereo images
Other
933 stars 328 forks source link

Problem to build on MacOS - error #98

Closed cogitas3d closed 6 years ago

cogitas3d commented 6 years ago

Dear friends,

I'm working hard to port an Blender add-on to 3 OS (Linux, Windows and Mac). In Linux all OK, in Windows I had an error and I'll try to solve thank your help (I was waiting your answer and you did it). But, like I had to work without stop I had to port the system to Mac.

Again, I was able to build all programs I need, less Mvs-Texturing.

I'll share the part appear the error:

` [ 88%] Building CXX object libs/tex/CMakeFiles/tex.dir/timer.cpp.o [ 89%] Building CXX object libs/tex/CMakeFiles/tex.dir/tri.cpp.o [ 91%] Building CXX object libs/tex/CMakeFiles/tex.dir/uni_graph.cpp.o [ 93%] Building CXX object libs/tex/CMakeFiles/tex.dir/view_selection.cpp.o In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:18: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:107:1: error: unknown type name '__always_inline' FORCEINLINE ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/defines.h:34:25: note: expanded from macro 'FORCEINLINE'

define FORCEINLINE __always_inline

                    ^

In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:18: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:108:7: error: expected ';' at end of declaration uint_t ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:109:1: error: C++ requires a type specifier for all declarations v_get_mask() ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:111:20: error: use of undeclared identifier 'COSTTYPE' _vector_traits<COSTTYPE, SIMDWIDTH> vt; ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:112:12: error: use of undeclared identifier 'vt' return vt.mask; ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:197:1: error: unknown type name '__always_inline' FORCEINLINE ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/defines.h:34:25: note: expanded from macro 'FORCEINLINE'

define FORCEINLINE __always_inline

                    ^

In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:18: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:198:7: error: expected ';' at end of declaration uint_t ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:199:1: error: C++ requires a type specifier for all declarations iv_get_mask() ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:201:22: error: use of undeclared identifier 'COSTTYPE' _i_vector_traits<COSTTYPE, SIMDWIDTH> ivt; ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/vector_types.h:202:12: error: use of undeclared identifier 'ivt' return ivt.mask; ^ In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:81: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:148:1: error: unknown type name '__always_inline' FORCEINLINE ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/defines.h:34:25: note: expanded from macro 'FORCEINLINE'

define FORCEINLINE __always_inline

                    ^

In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:81: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:150:1: error: constructor cannot have a return type Graph( ^~~~~ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:152:15: error: use of undeclared identifier 'num_nodes' : m_num_nodes(num_nodes), ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:153:11: error: use of undeclared identifier 'num_nodes' m_nodes(num_nodes), ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:155:16: error: use of undeclared identifier 'num_nodes' m_components(num_nodes, 0), ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:161:5: error: use of undeclared identifier 'm_coloring' m_coloring.resize(num_nodes); ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:161:23: error: use of undeclared identifier 'num_nodes' m_coloring.resize(num_nodes); ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:162:15: error: use of undeclared identifier 'm_coloring' std::fill(m_coloring.begin(), m_coloring.end(), 0); ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:162:35: error: use of undeclared identifier 'm_coloring' std::fill(m_coloring.begin(), m_coloring.end(), 0); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make[2]: [libs/tex/CMakeFiles/tex.dir/view_selection.cpp.o] Error 1 make[1]: [libs/tex/CMakeFiles/tex.dir/all] Error 2 make: *** [all] Error 2 Ciceros-iMac:build cogitas3d$ `

How can I solve this, do you know?

Thank you for you help. A big hug!

nmoehrle commented 6 years ago

I think the problem is that the FORCE_INLINE macro that my colleague used does not support clang. I'll open an issue.

nmoehrle commented 6 years ago

Can you try building again now that the force inline issue has been taken care of?

cogitas3d commented 6 years ago

Dear @nmoehrle ,

Thank you very much to answer! I tried again and unfortunatelly, the output:

[ 91%] Building CXX object libs/tex/CMakeFiles/tex.dir/uni_graph.cpp.o [ 93%] Building CXX object libs/tex/CMakeFiles/tex.dir/view_selection.cpp.o In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:18: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/mapmap.h:21: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/instance_factory.h:46: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/instance_factory.impl.h:13: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/tree_sampler_instances/lock_free_tree_sampler.h:136: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/tree_sampler_instances/lock_free_tree_sampler.impl.h:328:32: error: no matching function for call to 'min' for(luint_t i = 0; i < std::min(c_k, feasible_roots.size()); ++i) ^~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2589:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long long' vs. 'unsigned long') min(const _Tp& __a, const _Tp& __b) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2599:1: note: candidate template ignored: could not match 'initializer_list<type-parameter-0-0>' against 'unsigned long long' min(initializer_list<_Tp> __t, _Compare __comp) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2581:1: note: candidate function template not viable: requires 3 arguments, but 2 were provided min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2607:1: note: candidate function template not viable: requires single argument '__t', but 2 arguments were provided min(initializer_list<_Tp> __t) ^ In file included from /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/full.h:14: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/color.h:16: In file included from /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/header/graph.h:81: /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/graph.impl.h:439:52: error: no matching function for call to 'min' std::copy(coloring.begin(), coloring.begin() + std::min(coloring.size(), ^~~~~~~~ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/tree_sampler_instances/lock_free_tree_sampler.impl.h:60:16: note: in instantiation of member function 'mapmap::Graph<float>::set_coloring' requested here graph->set_coloring(coloring); ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/tree_sampler_instances/lock_free_tree_sampler.impl.h:254:3: note: in instantiation of member function 'mapmap::ColoredQueueBunch<float>::ColoredQueueBunch' requested here m_qu(graph, deterministic) ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/instance_factory.impl.h:36:17: note: in instantiation of member function 'mapmap::LockFreeTreeSampler<float, false>::LockFreeTreeSampler' requested here new LockFreeTreeSampler<COSTTYPE, ACYCLIC>(graph, deterministic, ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/mapmap.impl.h:553:43: note: in instantiation of member function 'mapmap::InstanceFactory<float, false>::get_sampler_instance' requested here InstanceFactory<COSTTYPE, false>::get_sampler_instance( ^ /Users/cogitas3d/Programs/mvs-texturing/elibs/mapmap/mapmap/source/mapmap.impl.h:344:19: note: in instantiation of member function 'mapmap::mapMAP<float, 1>::initial_labelling' requested here m_objective = initial_labelling(); ^ /Users/cogitas3d/Programs/mvs-texturing/libs/tex/view_selection.cpp:118:12: note: in instantiation of member function 'mapmap::mapMAP<float, 1>::optimize' requested here solver.optimize(solution, ctr); ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2589:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long' vs. 'unsigned long long') min(const _Tp& __a, const _Tp& __b) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2599:1: note: candidate template ignored: could not match 'initializer_list<type-parameter-0-0>' against 'unsigned long' min(initializer_list<_Tp> __t, _Compare __comp) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2581:1: note: candidate function template not viable: requires 3 arguments, but 2 were provided min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2607:1: note: candidate function template not viable: requires single argument '__t', but 2 arguments were provided min(initializer_list<_Tp> __t) ^ 2 errors generated. make[2]: *** [libs/tex/CMakeFiles/tex.dir/view_selection.cpp.o] Error 1 make[1]: *** [libs/tex/CMakeFiles/tex.dir/all] Error 2 make: *** [all] Error 2

nmoehrle commented 6 years ago

Progress :-) That is now an issue with differing type definitions - I'll have a look :-)

nmoehrle commented 6 years ago

How is it looking now? :-)

cogitas3d commented 6 years ago

Wow! This is awesome! All works very well!

[ 96%] Building CXX object apps/texrecon/CMakeFiles/texrecon.dir/arguments.cpp.o [ 98%] Building CXX object apps/texrecon/CMakeFiles/texrecon.dir/texrecon.cpp.o [100%] Linking CXX executable texrecon [100%] Built target texrecon

Thank you very much!!!

nmoehrle commented 6 years ago

Happy to help :-)