Build Fails - ‘Uint8’ is not a member of ‘sf’
edencreeper opened this issue · 5 comments
edencreeper commented
Build fails in make
stage, under both AUR and manual build.
Compiler output
In file included from /home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:47,
from /home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:2,
from /home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-build/CMakeFiles/ImGui-SFML.dir/Unity/unity_0_cxx.cxx:3:
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h: In member function ‘ImVec4::operator sf::Color() const’:
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:23:42: error: ‘Uint8’ is not a member of ‘sf’
23 | return sf::Color(static_cast<sf::Uint8>(x * 255.f), static_cast<sf::Uint8>(y * 255.f), \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:23:77: error: ‘Uint8’ is not a member of ‘sf’
23 | f::Color(static_cast<sf::Uint8>(x * 255.f), static_cast<sf::Uint8>(y * 255.f), \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:24:42: error: ‘Uint8’ is not a member of ‘sf’
24 | static_cast<sf::Uint8>(z * 255.f), static_cast<sf::Uint8>(w * 255.f)); \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:24:77: error: ‘Uint8’ is not a member of ‘sf’
24 | static_cast<sf::Uint8>(z * 255.f), static_cast<sf::Uint8>(w * 255.f)); \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:23:25: error: expected primary-expression before ‘(’ token
23 | return sf::Color(static_cast<sf::Uint8>(x * 255.f), static_cast<sf::Uint8>(y * 255.f), \
| ^
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:23:42: error: ‘Uint8’ in namespace ‘sf’ does not name a type
23 | return sf::Color(static_cast<sf::Uint8>(x * 255.f), static_cast<sf::Uint8>(y * 255.f), \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:23:77: error: ‘Uint8’ in namespace ‘sf’ does not name a type
23 | f::Color(static_cast<sf::Uint8>(x * 255.f), static_cast<sf::Uint8>(y * 255.f), \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:24:42: error: ‘Uint8’ in namespace ‘sf’ does not name a type
24 | static_cast<sf::Uint8>(z * 255.f), static_cast<sf::Uint8>(w * 255.f)); \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imconfig-SFML.h:24:77: error: ‘Uint8’ in namespace ‘sf’ does not name a type
24 | static_cast<sf::Uint8>(z * 255.f), static_cast<sf::Uint8>(w * 255.f)); \
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-src/imgui.h:268:5: note: in expansion of macro ‘IM_VEC4_CLASS_EXTRA’
268 | IM_VEC4_CLASS_EXTRA // Define additional constructors and implicit cast operators in imconfig.h to convert back and forth between your math types and ImVec4.
| ^~~~~~~~~~~~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp: In function ‘const char* {anonymous}::getClipboardText(void*)’:
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1379:27: error: ‘Uint8’ is not a member of ‘sf’
1379 | std::basic_string<sf::Uint8> tmp = sf::Clipboard::getString().toUtf8();
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1379:32: error: template argument 1 is invalid
1379 | std::basic_string<sf::Uint8> tmp = sf::Clipboard::getString().toUtf8();
| ^
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1379:32: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1379:32: error: template argument 3 is invalid
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1379:73: error: cannot convert ‘std::__cxx11::basic_string<unsigned char>’ to ‘int’ in initialization
1379 | std::basic_string<sf::Uint8> tmp = sf::Clipboard::getString().toUtf8();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
| |
| std::__cxx11::basic_string<unsigned char>
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1380:39: error: request for member ‘begin’ in ‘tmp’, which is of non-class type ‘int’
1380 | s_clipboardText = std::string(tmp.begin(), tmp.end());
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/buildlx/_deps/imgui-sfml-src/imgui-SFML.cpp:1380:52: error: request for member ‘end’ in ‘tmp’, which is of non-class type ‘int’
1380 | s_clipboardText = std::string(tmp.begin(), tmp.end());
| ^~~
make[2]: *** [_deps/imgui-sfml-build/CMakeFiles/ImGui-SFML.dir/build.make:76: _deps/imgui-sfml-build/CMakeFiles/ImGui-SFML.dir/Unity/unity_0_cxx.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1078: _deps/imgui-sfml-build/CMakeFiles/ImGui-SFML.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I'm not a CPP dev so I'm afraid I can't help debug (but obv if you want me to try anything please let me know!)
System Information:
archlinux, all up to date
$ cmake --version
cmake version 3.24.2
$ pkg-config --version sfml
1.8.0
vittorioromeo commented
My apologies, please try the develop
branch.
edencreeper commented
Very exciting - new errors!
[teo@jupiter buildlx]$ make
[ 1%] Built target SSVOpenHexagonLibC
[ 40%] Built target sodium
[ 41%] Built target sfml-system
[ 43%] Built target sfml-window
[ 44%] Built target sfml-network
[ 46%] Built target sfml-graphics
[ 47%] Built target sfml-audio
[ 48%] Built target minilua
[ 48%] Built target buildvm_arch_h
[ 51%] Built target buildvm
[ 51%] Built target lj_gen_headers
[ 52%] Built target lj_gen_folddef
[ 77%] Built target libluajit
[ 83%] Built target zlib
[ 83%] Built target ImGui-SFML
Consolidate compiler generated dependencies of target SSVOpenHexagonLib
[ 84%] Building CXX object CMakeFiles/SSVOpenHexagonLib.dir/Unity/unity_8_cxx.cxx.o
In file included from /home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:5,
from /home/teo/.local/src/SSVOpenHexagon/buildlx/CMakeFiles/SSVOpenHexagonLib.dir/Unity/unity_8_cxx.cxx:5:
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
In file included from /home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Global/Assets.hpp:14,
from /home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/LuaScripting.cpp:8,
from /home/teo/.local/src/SSVOpenHexagon/buildlx/CMakeFiles/SSVOpenHexagonLib.dir/Unity/unity_8_cxx.cxx:3:
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:51: error: template argument 1 is invalid
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:51: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 1 is invalid
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 1 is invalid
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 1 is invalid
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:15: error: invalid template-id
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:59: error: expected primary-expression before ‘>’ token
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:9: error: template placeholder type ‘const vector<...auto...>’ must be followed by a simple declarator-id
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~
In file included from /usr/include/c++/12.2.0/vector:64,
from /usr/include/c++/12.2.0/functional:62,
from /home/teo/.local/src/SSVOpenHexagon/include/SSVOpenHexagon/Global/PCH.hpp:45,
from /home/teo/.local/src/SSVOpenHexagon/buildlx/CMakeFiles/SSVOpenHexagonLib.dir/cmake_pch.hxx:5,
from <command-line>:
/usr/include/c++/12.2.0/bits/stl_vector.h:423:11: note: ‘template<class _Tp, class _Alloc> class std::vector’ declared here
423 | class vector : protected _Vector_base<_Tp, _Alloc>
| ^~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:331:71: error: expected ‘)’ before ‘,’ token
331 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^
| )
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:330:26: note: to match this ‘(’
330 | void drawMainSubmenus(
| ^
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:332:9: error: expected unqualified-id before ‘const’
332 | const float indent);
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:51: error: template argument 1 is invalid
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:51: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 1 is invalid
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 1 is invalid
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 1 is invalid
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:15: error: invalid template-id
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:34: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:59: error: expected primary-expression before ‘>’ token
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:9: error: template placeholder type ‘const vector<...auto...>’ must be followed by a simple declarator-id
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~
/usr/include/c++/12.2.0/bits/stl_vector.h:423:11: note: ‘template<class _Tp, class _Alloc> class std::vector’ declared here
423 | class vector : protected _Vector_base<_Tp, _Alloc>
| ^~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:335:71: error: expected ‘)’ before ‘,’ token
335 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^
| )
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:334:27: note: to match this ‘(’
334 | void drawSubmenusSmall(
| ^
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Core/MenuGame.hpp:336:9: error: expected unqualified-id before ‘const’
336 | const float indent);
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:47: error: template argument 1 is invalid
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:47: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 1 is invalid
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 1 is invalid
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 1 is invalid
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:11: error: invalid template-id
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3564:6: error: variable or field ‘drawMainSubmenus’ declared void
3564 | void MenuGame::drawMainSubmenus(
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3565:5: error: expected primary-expression before ‘const’
3565 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3566:5: error: expected primary-expression before ‘const’
3566 | const float indent)
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:47: error: template argument 1 is invalid
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:47: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 1 is invalid
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 1 is invalid
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 1 is invalid
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:55: error: template argument 2 is invalid
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:11: error: invalid template-id
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:30: error: ‘UniquePtr’ is not a member of ‘ssvms’; did you mean ‘hg::Utils::UniquePtr’?
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/./include/SSVOpenHexagon/Utils/UniquePtr.hpp:12:7: note: ‘hg::Utils::UniquePtr’ declared here
12 | class UniquePtr
| ^~~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3584:6: error: variable or field ‘drawSubmenusSmall’ declared void
3584 | void MenuGame::drawSubmenusSmall(
| ^~~~~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3585:5: error: expected primary-expression before ‘const’
3585 | const std::vector<ssvms::UniquePtr<ssvms::Category>>& subMenus,
| ^~~~~
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:3586:5: error: expected primary-expression before ‘const’
3586 | const float indent)
| ^~~~~
In file included from /usr/include/c++/12.2.0/deque:63,
from /home/teo/.local/src/SSVOpenHexagon/include/SSVOpenHexagon/Global/PCH.hpp:41:
/usr/include/c++/12.2.0/bits/stl_uninitialized.h: In instantiation of ‘constexpr bool std::__check_constructible() [with _ValueType = unique_ptr<ssvms::Category>; _Tp = const unique_ptr<ssvms::Category>&]’:
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:182:4: required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*]’
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:372:37: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*; _Tp = unique_ptr<ssvms::Category>]’
/usr/include/c++/12.2.0/bits/stl_vector.h:601:31: required from ‘constexpr std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::unique_ptr<ssvms::Category>; _Alloc = std::allocator<std::unique_ptr<ssvms::Category> >]’
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:5853:29: required from here
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:90:56: error: static assertion failed: result type must be constructible from input type
90 | static_assert(is_constructible<_ValueType, _Tp>::value,
| ^~~~~
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:90:56: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
In file included from /usr/include/c++/12.2.0/bits/stl_iterator.h:85,
from /usr/include/c++/12.2.0/bits/stl_algobase.h:67,
from /usr/include/c++/12.2.0/algorithm:60,
from /home/teo/.local/src/SSVOpenHexagon/include/SSVOpenHexagon/Global/PCH.hpp:36:
/usr/include/c++/12.2.0/bits/stl_construct.h: In instantiation of ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = unique_ptr<ssvms::Category>; _Args = {const unique_ptr<ssvms::Category, default_delete<ssvms::Category> >&}]’:
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*]’
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*; _Tp = unique_ptr<ssvms::Category>]’
/usr/include/c++/12.2.0/bits/stl_vector.h:601:31: required from ‘constexpr std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::unique_ptr<ssvms::Category>; _Alloc = std::allocator<std::unique_ptr<ssvms::Category> >]’
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:5853:29: required from here
/usr/include/c++/12.2.0/bits/stl_construct.h:115:28: error: no matching function for call to ‘construct_at(std::unique_ptr<ssvms::Category>*&, const std::unique_ptr<ssvms::Category>&)’
115 | std::construct_at(__p, std::forward<_Args>(__args)...);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_construct.h:94:5: note: candidate: ‘template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’
94 | construct_at(_Tp* __location, _Args&&... __args)
| ^~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed:
/usr/include/c++/12.2.0/bits/stl_construct.h: In substitution of ‘template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = std::unique_ptr<ssvms::Category>; _Args = {const std::unique_ptr<ssvms::Category, std::default_delete<ssvms::Category> >&}]’:
/usr/include/c++/12.2.0/bits/stl_construct.h:115:21: required from ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = unique_ptr<ssvms::Category>; _Args = {const unique_ptr<ssvms::Category, default_delete<ssvms::Category> >&}]’
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*]’
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*; _Tp = unique_ptr<ssvms::Category>]’
/usr/include/c++/12.2.0/bits/stl_vector.h:601:31: required from ‘constexpr std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::unique_ptr<ssvms::Category>; _Alloc = std::allocator<std::unique_ptr<ssvms::Category> >]’
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:5853:29: required from here
/usr/include/c++/12.2.0/bits/stl_construct.h:96:17: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = ssvms::Category; _Dp = std::default_delete<ssvms::Category>]’
96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/bits/shared_ptr_base.h:59,
from /usr/include/c++/12.2.0/bits/shared_ptr.h:53,
from /usr/include/c++/12.2.0/bits/fs_path.h:46,
from /usr/include/c++/12.2.0/filesystem:45,
from /home/teo/.local/src/SSVOpenHexagon/include/SSVOpenHexagon/Global/PCH.hpp:43:
/usr/include/c++/12.2.0/bits/unique_ptr.h:514:7: note: declared here
514 | unique_ptr(const unique_ptr&) = delete;
| ^~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_construct.h: In instantiation of ‘constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = unique_ptr<ssvms::Category>; _Args = {const unique_ptr<ssvms::Category, default_delete<ssvms::Category> >&}]’:
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:120:21: required from ‘constexpr _ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*]’
/usr/include/c++/12.2.0/bits/stl_uninitialized.h:370:30: required from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const unique_ptr<ssvms::Category>*, vector<unique_ptr<ssvms::Category> > >; _ForwardIterator = unique_ptr<ssvms::Category>*; _Tp = unique_ptr<ssvms::Category>]’
/usr/include/c++/12.2.0/bits/stl_vector.h:601:31: required from ‘constexpr std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::unique_ptr<ssvms::Category>; _Alloc = std::allocator<std::unique_ptr<ssvms::Category> >]’
/home/teo/.local/src/SSVOpenHexagon/src/SSVOpenHexagon/Core/MenuGame.cpp:5853:29: required from here
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = ssvms::Category; _Dp = std::default_delete<ssvms::Category>]’
119 | ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/unique_ptr.h:514:7: note: declared here
514 | unique_ptr(const unique_ptr&) = delete;
| ^~~~~~~~~~
make[2]: *** [CMakeFiles/SSVOpenHexagonLib.dir/build.make:221: CMakeFiles/SSVOpenHexagonLib.dir/Unity/unity_8_cxx.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:402: CMakeFiles/SSVOpenHexagonLib.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
[teo@jupiter buildlx]$
edencreeper commented
Oh sorry - if you would rather I use a pastebin then of course I can do that too :)
edencreeper commented
Oh! Just checked out a clean clone of develop
and it compiled fine!!
Would you like me to close?
vittorioromeo commented
Great to hear that! I will close, no worries.