ebertolazzi / Clothoids

BSD 2-Clause "Simplified" License
106 stars 51 forks source link

Cannot compile toolbox from Matlab mex #39

Closed yu-mei closed 1 year ago

yu-mei commented 1 year ago

Hi Mr. Ebertolazzi,

Thanks for sharing this wonderful tool! I got one issue when I try to run CompileClothoidsLib in Matlab command windows (with complied toolbox folder). I try to use Microsoft Visual C++ 2019 to compile and my VS2019 compiler equipped with windows SDK10 and SDK11. But I got the following error, which I could not fix.

I think all .cc file can be compiled successfully with MEX (though some warnings like D9025 and D9027) and generate lots of .obj file, but when it failed when MEX 'Compiling: ClothoidListMexWrapper'. It seems to be something like WinSockStub or get_IP_address, but I am wondering if it could be used in CLOTHOIDS and I have already install all windows sdk 10/11 in my VS. Do you know what is this issue?

...........(many cc files are compiled successfully before this line)
mex -c -largeArrayDims -Isrc -Isrc/Utils  COMPFLAGS="\$COMPFLAGS -O2"  -c  src/rang.cc
Building with 'Microsoft Visual C++ 2019'.
cl : Command line warning D9024 : unrecognized source file type '\/Zc:__cplusplus', object file assumed
cl : Command line warning D9027 : source file '\/Zc:__cplusplus' ignored
MEX completed successfully.

Compiling: ClothoidListMexWrapper
mex   -Isrc -output bin/ClothoidListMexWrapper -largeArrayDims src_mex/mex_ClothoidListMexWrapper.cc BBox.obj Biarc.obj BiarcList.obj CPUinfo.obj Circle.obj Clothoid.obj ClothoidAsyPlot.obj ClothoidDistance.obj ClothoidG2.obj ClothoidList.obj Console.obj Fresnel.obj G2lib.obj G2lib_intersect.obj Line.obj Malloc.obj Numbers.obj PolyLine.obj PolynomialRoots-1-Quadratic.obj PolynomialRoots-2-Cubic.obj PolynomialRoots-3-Quartic.obj PolynomialRoots-Jenkins-Traub.obj PolynomialRoots-Utils.obj SystemUtils.obj Table.obj ThreadPool1.obj ThreadPool3.obj ThreadPool4.obj ThreadPool5.obj ThreadUtils.obj TicToc.obj Token.obj Trace.obj Triangle2D.obj Utils.obj Utils_AABB_tree.obj Utils_Algo748.obj Utils_Trichotomy.obj fmt_format.obj fmt_os.obj rang.obj COMPFLAGS="\$COMPFLAGS -O2" 
Building with 'Microsoft Visual C++ 2019'.
cl : Command line warning D9024 : unrecognized source file type '\/Zc:__cplusplus', object file assumed
cl : Command line warning D9027 : source file '\/Zc:__cplusplus' ignored

cl : Command line warning D9024 : unrecognized source file type '\/Zc:__cplusplus', object file assumed
cl : Command line warning D9027 : source file '\/Zc:__cplusplus' ignored

Error using mex
   Creating library E:\Software\Matlab\MATLAB Add-Ons\Collections\ebertolazzi_Clothoids\toolbox\bin\ClothoidListMexWrapper.lib and object E:\Software\Matlab\MATLAB
   Add-Ons\Collections\ebertolazzi_Clothoids\toolbox\bin\ClothoidListMexWrapper.exp
SystemUtils.obj : error LNK2019: unresolved external symbol __imp_gethostname referenced in function "class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > __cdecl Utils::get_host_name(void)" (?get_host_name@Utils@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
SystemUtils.obj : error LNK2019: unresolved external symbol __imp_WSAStartup referenced in function "public: __cdecl Utils::WinSockStub::WinSockStub(void)"
(??0WinSockStub@Utils@@QEAA@XZ)
SystemUtils.obj : error LNK2019: unresolved external symbol __imp_GetAdaptersInfo referenced in function "void __cdecl Utils::get_IP_address(class std::vector<class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > > > &)"
(?get_IP_address@Utils@@YAXAEAV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@Z)
E:\Software\Matlab\MATLAB Add-Ons\Collections\ebertolazzi_Clothoids\toolbox\bin\ClothoidListMexWrapper.mexw64 : fatal error LNK1120: 3 unresolved externals

Error in CompileClothoidsLib (line 83)
  eval(CMD);
ebertolazzi commented 1 year ago

I have solved the compilation problem (in windows use CompileClothoidsLib not CompileClothoidsLib_cmake for the moment). The release contain the toolbox with precompiled binary for windows.

ebertolazzi commented 1 year ago

For the moment MINGW is experimental. I solved the compilation problem for windows OS and precompiled the toolbox 2.0.13 that should work as is.

regards.

Il giorno 9 feb 2023, alle ore 6:22 PM, yu-mei @.***> ha scritto:

And also when I tried to use MinGW64 to compile, it got following issue: mex -c -largeArrayDims -Isrc -Isrc/Utils COMPFLAGS="$COMPFLAGS -O2" -c src/BBox.cc Building with 'MinGW64 Compiler (C++)'. Error using mex In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:31:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h: In member function 'mingw_stdthread::thread& mingw_stdthread:🧵:operator=(mingw_stdthread::thread&&)': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h:249:45: error: no matching function for call to 'forward(mingw_stdthread::thread&)' swap(std::forwardstd::thread(other)); ^ In file included from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/stl_pair.h:59:0, from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/utility:70, from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/algorithm:60, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/fmt/printf.h:11, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:94, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/move.h:76:5: note: candidate: template constexpr _Tp&& std::forward(typename std::remove_reference<_From>::type&) forward(typename std::remove_reference<_Tp>::type& t) noexcept ^~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/move.h:76:5: note: template argument deduction/substitution failed: In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:31:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h:249:40: note: cannot convert 'other' (type 'mingw_stdthread::thread') to type 'std::remove_referencestd::thread::type& {aka std::thread&}' swap(std::forwardstd::thread(other)); ^~~~~ In file included from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/stl_pair.h:59:0, from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/utility:70, from C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/algorithm:60, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/fmt/printf.h:11, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:94, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/move.h:87:5: note: candidate: template constexpr _Tp&& std::forward(typename std::remove_reference<_From>::type&&) forward(typename std::remove_reference<_Tp>::type&& t) noexcept ^~~ C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/bits/move.h:87:5: note: template argument deduction/substitution failed: In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:31:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h:249:40: note: cannot convert 'other' (type 'mingw_stdthread::thread') to type 'std::remove_referencestd::thread::type&& {aka std::thread&&}' swap(std::forwardstd::thread(other)); ^~~~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h: At global scope: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.thread.h:339:17: note:

pragma message: This version of MinGW seems to include a win32 port of pthreads, and probably already has

C++11 std threading classes implemented, based on pthreads. These classes, found in namespace std, are not overridden by the mingw-std-thread library. If you would still like to use this implementation (as it is more lightweight), use the classes provided in namespace mingw_stdthread.

pragma message "This version of MinGW seems to include a win32 port of

^~~~~~~~~~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:35:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.condition_variable.h: In member function 'bool mingw_stdthread::xp::condition_variable_any::wait_impl(M&, DWORD)': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.condition_variable.h:135:48: error: 'protocol_error' is not a member of 'std::errc' throw system_error(make_error_code(errc::protocol_error)); ^~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h: At global scope: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:355:17: error: 'async_result_of' was not declared in this scope friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:355:17: note: suggested alternative: In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:22:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/future:175:71: note: 'std::async_result_of' typename decay<_Fn>::type(typename decay<_Args>::type...)>::type; ^ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:355:45: error: wrong number of template arguments (2, should be 1) friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:332:7: note: provided for 'template class mingw_stdthread::future' class future; ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:355:48: error: expected unqualified-id before '>' token friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:702:17: error: 'async_result_of' was not declared in this scope friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:702:17: note: suggested alternative: In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:22:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/future:175:71: note: 'std::async_result_of' typename decay<_Fn>::type(typename decay<_Args>::type...)>::type; ^ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:702:45: error: wrong number of template arguments (2, should be 1) friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:332:7: note: provided for 'template class mingw_stdthread::future' class future; ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:702:48: error: expected unqualified-id before '>' token friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:805:17: error: 'async_result_of' was not declared in this scope friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:805:17: note: suggested alternative: In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:22:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/future:175:71: note: 'std::async_result_of' typename decay<_Fn>::type(typename decay<_Args>::type...)>::type; ^ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:805:45: error: wrong number of template arguments (2, should be 1) friend future<__async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:332:7: note: provided for 'template class mingw_stdthread::future' class future; ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:805:48: error: expected unqualified-id before '>' token friend future<async_result_of<_Fn, _Args...>> async (std::launch, _Fn &&, _Args&&...); ^~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:924:8: error: 'uses_allocator' is not a class template struct uses_allocator<promise, Alloc> : std::true_type ^~~~~~ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:1038:3: error: redefinition of 'template<class Function, class ... Args> std::future<typename std::result_of<typename std::decay<_Tp>::type(typename std::decay<_BoundArgs>::type ...)>::type> std::async(Function&&, Args&& ...)' async(Function&& f, Args&&... args) ^~~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:22:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/future:1739:5: note: 'template<class _Fn, class ... _Args> std::future<typename std::result_of<typename std::decay<_Tp>::type(typename std::decay<_BoundArgs>::type ...)>::type> std::async(_Fn&&, _Args&& ...)' previously declared here async(_Fn&& fn, _Args&&... args) ^~~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:1055:3: error: redefinition of 'template<class Function, class ... Args> std::future<typename std::result_of<typename std::decay<_Tp>::type(typename std::decay<_BoundArgs>::type ...)>::type> std::async(std::launch, Function&&, Args&& ...)' async(std::launch policy, Function&& f, Args&&... args) ^~~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/mingw-std-threads/mingw.future.h:22:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:141, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: C:/ProgramData/MATLAB/SupportPackages/R2021b/3P.instrset/mingw_w64.instrset/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/future:1709:5: note: 'template<class _Fn, class ... _Args> std::future<typename std::result_of<typename std::decay<_Tp>::type(typename std::decay<_BoundArgs>::type ...)>::type> std::async(std::launch, _Fn&&, _Args&& ...)' previously declared here async(launch policy, _Fn&& fn, _Args&&... __args) ^~~~~ In file included from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/Utils.hxx:177:0, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils.hh:63, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Clothoids.hh:33, from D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\BBox.cc:28: D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinSemaphore::notify_one()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:95:70: error: 'WakeConditionVariable' was not declared in this scope void notify_one() noexcept { WakeConditionVariable( &m_condition ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinSemaphore::notify_all()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:96:73: error: 'WakeAllConditionVariable' was not declared in this scope void notify_all() noexcept { WakeAllConditionVariable( &m_condition ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinSemaphore::wait_cond()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:97:102: error: 'SleepConditionVariableCS' was not declared in this scope void wait_cond() noexcept { SleepConditionVariableCS( &m_condition, &m_critical.data(), INFINITE ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In constructor 'Utils::WinSemaphore::WinSemaphore()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:105:49: error: 'InitializeConditionVariable' was not declared in this scope { InitializeConditionVariable( &m_condition ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinBarrier::notify_one()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:164:70: error: 'WakeConditionVariable' was not declared in this scope void notify_one() noexcept { WakeConditionVariable( &m_condition ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinBarrier::notify_all()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:165:73: error: 'WakeAllConditionVariable' was not declared in this scope void notify_all() noexcept { WakeAllConditionVariable( &m_condition ); } ^ D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx: In member function 'void Utils::WinBarrier::wait_cond()': D:\Matlab\Matlab Add-Ons\Toolboxes\Clothoids\src\Utils/ThreadUtils.hxx:166:102: error: 'SleepConditionVariableCS' was not declared in this scope void wait_cond() noexcept { SleepConditionVariableCS( &m_condition, &m_critical.data(), INFINITE ); } ^ Error in CompileClothoidsLib (line 50) eval(CMD); — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Enrico Bertolazzi


Dipartimento di Ingegneria Industriale
UniversitĂ  degli Studi di Trento https://e.bertolazzi.dii.unitn.it

yu-mei commented 1 year ago

Thank you for your quick response, Dr. Ebertolazzi!! It works and could be compiled successfully in my windows OS as well. I really apperciate it.

I am going to close this issue but I still found another issue unrelated to this complie issue. I tried to run some demos in your manual paper, and everything goes smooth except copy() function. It will give me the error that, which might needed to be solved in the future:

Unrecognized method, property, or field 'copy' for class 'ClothoidCurve'.

Best Wishes,