Closed NQNStudios closed 1 month ago
Tested build of git master on devuan daedalus (debian without systemd).
SCons: v4.4.0.fc8d0ec215ee6cba8bc158ad40c099be0b598297, Sat, 30 Jul 2022 14:11:34 -0700, by bdbaddog on M1Dog2021
$ scons
scons: Reading SConscript files ...
Building for: posix
Using toolchain: default
C++ compiler: g++
Checking whether the C compiler works... (cached) yes
Checking whether the C++ compiler works... (cached) yes
Checking for C library z... (cached) yes
Checking for C++ header file boost/lexical_cast.hpp... (cached) yes
Checking for C++ header file boost/optional.hpp... (cached) yes
Checking for C++ header file boost/ptr_container/ptr_container.hpp... (cached) yes
Checking for C++ header file boost/any.hpp... (cached) yes
Checking for C++ header file boost/math_fwd.hpp... (cached) yes
Checking for C++ header file boost/spirit/include/classic.hpp... (cached) yes
Checking for C++ library boost_system... (cached) yes
Checking for C++ library boost_filesystem... (cached) yes
Checking for C++ library sfml-system... (cached) yes
Checking for C++ library sfml-window... (cached) yes
Checking for C++ library sfml-audio... (cached) yes
Checking for C++ library sfml-graphics... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/obj/game/boe.menus.linux.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe/TGUI -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/game/deps/Catch2/single_include build/obj/game/boe.menus.linux.cpp
In file included from build/obj/game/boe.menus.linux.cpp:9:
build/obj/game/boe.menu.hpp:7:10: fatal error: TGUI/TGUI.hpp: No such file or directory
7 | #include <TGUI/TGUI.hpp>
| ^~~~~~~~~~~~~~~
compilation terminated.
scons: *** [build/obj/game/boe.menus.linux.o] Error 1
scons: building terminated because of errors.
Searched recent issues, saw the INCLUDEPATH hack:
$ scons INCLUDEPATH=/pr/Games/cboe/
scons: Reading SConscript files ...
Building for: posix
Using toolchain: default
C++ compiler: g++
Checking whether the C compiler works... (cached) yes
Checking whether the C++ compiler works... (cached) yes
Checking for C library z... (cached) yes
Checking for C++ header file boost/lexical_cast.hpp... (cached) yes
Checking for C++ header file boost/optional.hpp... (cached) yes
Checking for C++ header file boost/ptr_container/ptr_container.hpp... (cached) yes
Checking for C++ header file boost/any.hpp... (cached) yes
Checking for C++ header file boost/math_fwd.hpp... (cached) yes
Checking for C++ header file boost/spirit/include/classic.hpp... (cached) yes
Checking for C++ library boost_system... (cached) yes
Checking for C++ library boost_filesystem... (cached) yes
Checking for C++ library sfml-system... (cached) yes
Checking for C++ library sfml-window... (cached) yes
Checking for C++ library sfml-audio... (cached) yes
Checking for C++ library sfml-graphics... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/obj/game/boe.menus.linux.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/game/deps/Catch2/single_include build/obj/game/boe.menus.linux.cpp
g++ -o build/obj/game/boe.menu.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/game/deps/Catch2/single_include build/obj/game/boe.menu.cpp
build/obj/game/boe.menu.cpp: In constructor ‘OpenBoEMenu::OpenBoEMenu(sf::RenderWindow&, cUniverse&)’:
build/obj/game/boe.menu.cpp:16:53: error: cannot convert ‘const tgui::String’ to ‘const sf::String&’
16 | this->tgui.add(this->build_menubar(), this->internal_menubar_widget_name);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const tgui::String
In file included from /pr/Games/cboe/TGUI/TGUI.hpp:35,
from build/obj/game/boe.menu.hpp:7,
from build/obj/game/boe.menu.cpp:3:
/pr/Games/cboe/TGUI/Gui.hpp:239:66: note: initializing argument 2 of ‘void tgui::Gui::add(const tgui::Widget::Ptr&, const sf::String&)’
239 | void add(const Widget::Ptr& widgetPtr, const sf::String& widgetName = "");
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
build/obj/game/boe.menu.cpp: In member function ‘void OpenBoEMenu::add_persistent_menu_items(tgui::MenuBar::Ptr&) const’:
build/obj/game/boe.menu.cpp:92:37: error: no matching function for call to ‘tgui::MenuBar::addMenuItem(const std::vector<tgui::String>&)’
92 | menubar->addMenuItem(item.first);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /pr/Games/cboe/TGUI/TGUI.hpp:59:
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&)’
217 | bool addMenuItem(const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:44: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const sf::String&’
217 | bool addMenuItem(const sf::String& text);
| ~~~~~~~~~~~~~~~~~~^~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&, const sf::String&)’
236 | bool addMenuItem(const sf::String& menu, const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate expects 2 arguments, 1 provided
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const std::vector<sf::String>&, bool)’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:57: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const std::vector<sf::String>&’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
build/obj/game/boe.menu.cpp:93:41: error: no matching function for call to ‘tgui::MenuBar::connectMenuItem(const std::vector<tgui::String>&, void (&)(eMenu), const eMenu&)’
93 | menubar->connectMenuItem(item.first, handle_menu_choice, item.second);
build/obj/game/boe.menu.cpp: In member function ‘tgui::MenuBar::Ptr OpenBoEMenu::get_menubar_ptr() const’:
build/obj/game/boe.menu.cpp:200:52: error: cannot convert ‘const tgui::String’ to ‘const sf::String&’
200 | return this->tgui.get<tgui::MenuBar>(this->internal_menubar_widget_name);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const tgui::String
/pr/Games/cboe/TGUI/Gui.hpp:273:47: note: initializing argument 1 of ‘typename T::Ptr tgui::Gui::get(const sf::String&) const [with T = tgui::MenuBar; typename T::Ptr = std::shared_ptr<tgui::MenuBar>]’
273 | typename T::Ptr get(const sf::String& widgetName) const
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
build/obj/game/boe.menu.cpp: In member function ‘void OpenBoEMenu::update_mage_spells_menu(tgui::MenuBar::Ptr&)’:
build/obj/game/boe.menu.cpp:252:29: error: no matching function for call to ‘tgui::MenuBar::addMenuItem(const OpenBoEMenu::MenuHierarchy&)’
252 | menubar->addMenuItem(about_hierarchy);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&)’
217 | bool addMenuItem(const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:44: note: no known conversion for argument 1 from ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’} to ‘const sf::String&’
217 | bool addMenuItem(const sf::String& text);
| ~~~~~~~~~~~~~~~~~~^~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&, const sf::String&)’
236 | bool addMenuItem(const sf::String& menu, const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate expects 2 arguments, 1 provided
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const std::vector<sf::String>&, bool)’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:57: note: no known conversion for argument 1 from ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’} to ‘const std::vector<sf::String>&’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
build/obj/game/boe.menu.cpp:254:41: error: no matching function for call to ‘tgui::MenuBar::connectMenuItem(const OpenBoEMenu::MenuHierarchy&, void (&)(eMenu), eMenu)’
254 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_MAGE)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const sf::String&, const sf::String&, Func&&, const Args& ...)’
131 | unsigned int connectMenuItem(const sf::String& menu, const sf::String& menuItem, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:254:42: note: cannot convert ‘about_hierarchy’ (type ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’}) to type ‘const sf::String&’
254 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_MAGE)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const std::vector<sf::String>&, Func&&, const Args& ...)’
149 | unsigned int connectMenuItem(const std::vector<sf::String>& hierarchy, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:254:42: note: cannot convert ‘about_hierarchy’ (type ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’}) to type ‘const std::vector<sf::String>&’
254 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_MAGE)
| ^~~~~~~~~~~~~~~
build/obj/game/boe.menu.cpp:262:45: error: no matching function for call to ‘tgui::MenuBar::addMenuItem(const std::vector<tgui::String>&)’
262 | menubar->addMenuItem(spell_hierarchy);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&)’
217 | bool addMenuItem(const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:44: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const sf::String&’
217 | bool addMenuItem(const sf::String& text);
| ~~~~~~~~~~~~~~~~~~^~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&, const sf::String&)’
236 | bool addMenuItem(const sf::String& menu, const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate expects 2 arguments, 1 provided
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const std::vector<sf::String>&, bool)’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:57: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const std::vector<sf::String>&’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
build/obj/game/boe.menu.cpp:265:57: error: no matching function for call to ‘tgui::MenuBar::connectMenuItem(const std::vector<tgui::String>&, void (&)(eSpell), eSpell&)’
265 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const sf::String&, const sf::String&, Func&&, const Args& ...)’
131 | unsigned int connectMenuItem(const sf::String& menu, const sf::String& menuItem, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:265:58: note: cannot convert ‘spell_hierarchy’ (type ‘const std::vector<tgui::String>’) to type ‘const sf::String&’
265 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const std::vector<sf::String>&, Func&&, const Args& ...)’
149 | unsigned int connectMenuItem(const std::vector<sf::String>& hierarchy, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:265:58: note: cannot convert ‘spell_hierarchy’ (type ‘const std::vector<tgui::String>’) to type ‘const std::vector<sf::String>&’
265 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ^~~~~~~~~~~~~~~
build/obj/game/boe.menu.cpp: In member function ‘void OpenBoEMenu::update_priest_spells_menu(tgui::MenuBar::Ptr&)’:
build/obj/game/boe.menu.cpp:275:29: error: no matching function for call to ‘tgui::MenuBar::addMenuItem(const OpenBoEMenu::MenuHierarchy&)’
275 | menubar->addMenuItem(about_hierarchy);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&)’
217 | bool addMenuItem(const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:44: note: no known conversion for argument 1 from ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’} to ‘const sf::String&’
217 | bool addMenuItem(const sf::String& text);
| ~~~~~~~~~~~~~~~~~~^~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&, const sf::String&)’
236 | bool addMenuItem(const sf::String& menu, const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate expects 2 arguments, 1 provided
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const std::vector<sf::String>&, bool)’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:57: note: no known conversion for argument 1 from ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’} to ‘const std::vector<sf::String>&’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
build/obj/game/boe.menu.cpp:277:41: error: no matching function for call to ‘tgui::MenuBar::connectMenuItem(const OpenBoEMenu::MenuHierarchy&, void (&)(eMenu), eMenu)’
277 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_PRIEST)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const sf::String&, const sf::String&, Func&&, const Args& ...)’
131 | unsigned int connectMenuItem(const sf::String& menu, const sf::String& menuItem, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:277:42: note: cannot convert ‘about_hierarchy’ (type ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’}) to type ‘const sf::String&’
277 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_PRIEST)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const std::vector<sf::String>&, Func&&, const Args& ...)’
149 | unsigned int connectMenuItem(const std::vector<sf::String>& hierarchy, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:277:42: note: cannot convert ‘about_hierarchy’ (type ‘const OpenBoEMenu::MenuHierarchy’ {aka ‘const std::vector<tgui::String>’}) to type ‘const std::vector<sf::String>&’
277 | menubar->connectMenuItem(about_hierarchy, handle_menu_choice, eMenu::ABOUT_PRIEST)
| ^~~~~~~~~~~~~~~
build/obj/game/boe.menu.cpp:285:45: error: no matching function for call to ‘tgui::MenuBar::addMenuItem(const std::vector<tgui::String>&)’
285 | menubar->addMenuItem(spell_hierarchy);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&)’
217 | bool addMenuItem(const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:217:44: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const sf::String&’
217 | bool addMenuItem(const sf::String& text);
| ~~~~~~~~~~~~~~~~~~^~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const sf::String&, const sf::String&)’
236 | bool addMenuItem(const sf::String& menu, const sf::String& text);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:236:14: note: candidate expects 2 arguments, 1 provided
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:14: note: candidate: ‘bool tgui::MenuBar::addMenuItem(const std::vector<sf::String>&, bool)’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ^~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:253:57: note: no known conversion for argument 1 from ‘const std::vector<tgui::String>’ to ‘const std::vector<sf::String>&’
253 | bool addMenuItem(const std::vector<sf::String>& hierarchy, bool createParents = true);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
build/obj/game/boe.menu.cpp:288:57: error: no matching function for call to ‘tgui::MenuBar::connectMenuItem(const std::vector<tgui::String>&, void (&)(eSpell), eSpell&)’
288 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const sf::String&, const sf::String&, Func&&, const Args& ...)’
131 | unsigned int connectMenuItem(const sf::String& menu, const sf::String& menuItem, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:131:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:288:58: note: cannot convert ‘spell_hierarchy’ (type ‘const std::vector<tgui::String>’) to type ‘const sf::String&’
288 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: candidate: ‘template<class Func, class ... Args> unsigned int tgui::MenuBar::connectMenuItem(const std::vector<sf::String>&, Func&&, const Args& ...)’
149 | unsigned int connectMenuItem(const std::vector<sf::String>& hierarchy, Func&& handler, const Args&... args)
| ^~~~~~~~~~~~~~~
/pr/Games/cboe/TGUI/Widgets/MenuBar.hpp:149:22: note: template argument deduction/substitution failed:
build/obj/game/boe.menu.cpp:288:58: note: cannot convert ‘spell_hierarchy’ (type ‘const std::vector<tgui::String>’) to type ‘const std::vector<sf::String>&’
288 | menubar->connectMenuItem(spell_hierarchy, handle_menu_spell, spell)
| ^~~~~~~~~~~~~~~
scons: *** [build/obj/game/boe.menu.o] Error 1
scons: building terminated because of errors.
gcc --v
gcc version 11.3.0 (Debian 11.3.0-12) 02:54:51-blap@BIGBOY:/pr/Games/cboe$
g++ -v
gcc version 12.2.0 (Debian 12.2.0-14)
If I can provide more info or if I should make a seperate issue, please let me know!
[EDIT] trying with g++-11 also fails with same-looking error dump.
gcc version 11.3.0 (Debian 11.3.0-12)
Thanks for your work on this!
Did you install TGUI @clort81 ?
It looks like you did, but can you try making sure you have version 0.9?
Wrong version of TGUI seems a likely cause here, yes.
Thanks
/pr/Games/cboe/TGUI/0.9/TGUI-0.9/build# make install
[ 97%] Built target tgui
[100%] Built target gui-builder
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/pkgconfig/tgui.pc
-- Up-to-date: /usr/local/./include
-- Installing: /usr/local/./include/TGUI
-- Installing: /usr/local/./include/TGUI/Texture.hpp
...
scons INCLUDEPATH=/pr/Games/cboe/ OS=posix
scons: Reading SConscript files ...
Building for: posix
Using toolchain: default
C++ compiler: g++
Checking whether the C compiler works... no
There's a problem with your compiler!
"C compiler?"
Tried pointing g++ to either g++-11 and g++12 but same error.
It seems odd to see this message when a fresh git clone didn't have it. I'll re-clone the repo and try minty-fresh build
So, the scons -c seems to break my build with the C compiler works error. With a fresh git clone, it doesn't have the error! Instead, I now see this (excerpt)
...
g++ -o build/obj/pcedit/pc.editors.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/pcedit/deps/Catch2/single_include build/obj/pcedit/pc.editors.cpp
g++ -o build/obj/fileio/fileio_party.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/pcedit/deps/Catch2/single_include build/obj/fileio/fileio_party.cpp
g++ -o build/obj/view_dialogs.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/scenedit/deps/Catch2/single_include build/obj/view_dialogs.cpp
g++ -o build/obj/game/boe.menus.linux.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/game/deps/Catch2/single_include build/obj/game/boe.menus.linux.cpp
In file included from /usr/local/include/TGUI/Vector2.hpp:30,
from /usr/local/include/TGUI/Layout.hpp:30,
from /usr/local/include/TGUI/Animation.hpp:29,
from /usr/local/include/TGUI/Core.hpp:30,
from /usr/local/include/TGUI/TGUI.hpp:30,
from build/obj/game/boe.menu.hpp:7,
from build/obj/game/boe.menus.linux.cpp:9:
/usr/local/include/TGUI/String.hpp:87:18: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
87 | std::is_same_v<StringViewType, std::string_view>
| ^~~~~~~~~
| is_same
/usr/local/include/TGUI/String.hpp:87:18: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
87 | std::is_same_v<StringViewType, std::string_view>
| ^~~~~~~~~
| is_same
/usr/local/include/TGUI/String.hpp:87:49: error: ‘string_view’ is not a member of ‘std’
87 | std::is_same_v<StringViewType, std::string_view>
| ^~~~~~~~~~~
/usr/local/include/TGUI/String.hpp:87:49: note: ‘std::string_view’ is only available from C++17 onwards
/usr/local/include/TGUI/String.hpp:87:49: error: ‘string_view’ is not a member of ‘std’
/usr/local/include/TGUI/String.hpp:87:49: note: ‘std::string_view’ is only available from C++17 onwards
/usr/local/include/TGUI/String.hpp:87:60: error: template argument 1 is invalid
87 | std::is_same_v<StringViewType, std::string_view>
| ^
/usr/local/include/TGUI/String.hpp:87:60: error: template argument 2 is invalid
/usr/local/include/TGUI/String.hpp:359:55: error: ‘IsStringViewType’ does not name a type; did you mean ‘StringViewType’?
359 | template <typename StringViewType, typename = IsStringViewType<StringViewType>>
| ^~~~~~~~~~~~~~~~
| StringViewType
/usr/local/include/TGUI/String.hpp:359:71: error: expected ‘>’ before ‘<’ token
359 | template <typename StringViewType, typename = IsStringViewType<StringViewType>>
| ^
/usr/local/include/TGUI/String.hpp:365:55: error: ‘IsStringViewType’ does not name a type; did you mean ‘StringViewType’?
365 | template <typename StringViewType, typename = IsStringViewType<StringViewType>>
| ^~~~~~~~~~~~~~~~
| StringViewType
/usr/local/include/TGUI/String.hpp:365:71: error: expected ‘>’ before ‘<’ token
365 | template <typename StringViewType, typename = IsStringViewType<StringViewType>>
| ^
/usr/local/include/TGUI/String.hpp:394:18: error: expected type-specifier
394 | operator std::u32string_view() const noexcept
| ^~~
/usr/local/include/TGUI/String.hpp:736:28: error: ‘std::u32string_view’ has not been declared
736 | bool contains(std::u32string_view sv) const noexcept;
| ^~~~~~~~~~~~~~
/usr/local/include/TGUI/String.hpp:771:31: error: ‘std::u32string_view’ has not been declared
771 | std::size_t find(std::u32string_view sv, std::size_t pos = 0) const noexcept;
| ^~~~~~~~~~~~~~
/usr/local/include/TGUI/String.hpp:1466:29: error: ‘u32string_view’ in namespace ‘std’ does not name a type; did you mean ‘u32string’?
1466 | using StringView = std::u32string_view;
| ^~~~~~~~~~~~~~
| u32string
/usr/local/include/TGUI/String.hpp:1467:33: error: ‘string_view’ in namespace ‘std’ does not name a type
1467 | using CharStringView = std::string_view;
| ^~~~~~~~~~~
/usr/local/include/TGUI/String.hpp:1467:28: note: ‘std::string_view’ is only available from C++17 onwards
1467 | using CharStringView = std::string_view;
| ^~~
In file included from /usr/local/include/TGUI/Timer.hpp:31,
from /usr/local/include/TGUI/Core.hpp:32,
from /usr/local/include/TGUI/TGUI.hpp:30,
from build/obj/game/boe.menu.hpp:7,
from build/obj/game/boe.menus.linux.cpp:9:
/usr/local/include/TGUI/Optional.hpp:40:27: error: ‘optional’ in namespace ‘std’ does not name a template type
40 | using Optional = std::optional<T>;
| ^~~~~~~~
/usr/local/include/TGUI/Optional.hpp:40:22: note: ‘std::optional’ is only available from C++17 onwards
40 | using Optional = std::optional<T>;
| ^~~
In file included from /usr/local/include/TGUI/Core.hpp:32,
from /usr/local/include/TGUI/TGUI.hpp:30,
from build/obj/game/boe.menu.hpp:7,
from build/obj/game/boe.menus.linux.cpp:9:
/usr/local/include/TGUI/Timer.hpp:162:16: error: ‘Optional’ does not name a type
162 | static Optional<Duration> getNextScheduledTime();
| ^~~~~~~~
In file included from /usr/local/include/TGUI/Global.hpp:35,
from /usr/local/include/TGUI/Signal.hpp:31,
from /usr/local/include/TGUI/Widget.hpp:31,
from /usr/local/include/TGUI/Core.hpp:33,
from /usr/local/include/TGUI/TGUI.hpp:30,
from build/obj/game/boe.menu.hpp:7,
from build/obj/game/boe.menus.linux.cpp:9:
/usr/local/include/TGUI/Filesystem.hpp:80:64: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^~~~~~~~~
| is_same
/usr/local/include/TGUI/Filesystem.hpp:80:64: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^~~~~~~~~
| is_same
/usr/local/include/TGUI/Filesystem.hpp:80:89: error: ‘filesystem’ is not a member of ‘std’; did you mean ‘system’?
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^~~~~~~~~~
| system
/usr/local/include/TGUI/Filesystem.hpp:80:89: error: ‘filesystem’ is not a member of ‘std’; did you mean ‘system’?
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^~~~~~~~~~
| system
/usr/local/include/TGUI/Filesystem.hpp:80:105: error: template argument 1 is invalid
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^
/usr/local/include/TGUI/Filesystem.hpp:80:105: error: template argument 2 is invalid
/usr/local/include/TGUI/Filesystem.hpp:80:113: error: expected unqualified-id before ‘=’ token
80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0>
| ^
/usr/local/include/TGUI/Filesystem.hpp:171:13: error: ‘operator const int’ does not name a type
171 | operator const std::filesystem::path&() const
| ^~~~~~~~
/usr/local/include/TGUI/Filesystem.hpp:247:18: error: ‘filesystem’ in namespace ‘std’ does not name a type; did you mean ‘system’?
...
This is with TGUI-0.9.zip from github.
Oh, when you call cmake on TGUI you need to do it like this:
TGUI_CXX_STANDARD=14 cmake .
look at the script in .github/workflows/scripts/linux/install-tgui.sh to see.
Sorry it’s so complicated.
On Wed, May 29, 2024 at 10:22 PM clort81 @.***> wrote:
So, the scons -c seems to break my build with the C compiler works error. With a fresh git clone, it doesn't have the error! Instead, I now see this (excerpt)
...g++ -o build/obj/pcedit/pc.editors.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/pcedit/deps/Catch2/single_include build/obj/pcedit/pc.editors.cpp g++ -o build/obj/fileio/fileio_party.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/pcedit/deps/Catch2/single_include build/obj/fileio/fileio_party.cpp g++ -o build/obj/view_dialogs.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/scenedit/deps/Catch2/single_include build/obj/view_dialogs.cpp g++ -o build/obj/game/boe.menus.linux.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/game/deps/Catch2/single_include build/obj/game/boe.menus.linux.cpp In file included from /usr/local/include/TGUI/Vector2.hpp:30, from /usr/local/include/TGUI/Layout.hpp:30, from /usr/local/include/TGUI/Animation.hpp:29, from /usr/local/include/TGUI/Core.hpp:30, from /usr/local/include/TGUI/TGUI.hpp:30, from build/obj/game/boe.menu.hpp:7, from build/obj/game/boe.menus.linux.cpp:9: /usr/local/include/TGUI/String.hpp:87:18: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 87 | std::is_same_v<StringViewType, std::string_view> | ^
~~~~ | is_same /usr/local/include/TGUI/String.hpp:87:18: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 87 | std::is_same_v<StringViewType, std::string_view> | ^~~~~ | is_same /usr/local/include/TGUI/String.hpp:87:49: error: ‘string_view’ is not a member of ‘std’ 87 | std::is_same_v<StringViewType, std::string_view> | ^~~/usr/local/include/TGUI/String.hpp:87:49: note: ‘std::string_view’ is only available from C++17 onwards /usr/local/include/TGUI/String.hpp:87:49: error: ‘string_view’ is not a member of ‘std’ /usr/local/include/TGUI/String.hpp:87:49: note: ‘std::string_view’ is only available from C++17 onwards /usr/local/include/TGUI/String.hpp:87:60: error: template argument 1 is invalid 87 | std::is_same_v<StringViewType, std::string_view> | ^ /usr/local/include/TGUI/String.hpp:87:60: error: template argument 2 is invalid /usr/local/include/TGUI/String.hpp:359:55: error: ‘IsStringViewType’ does not name a type; did you mean ‘StringViewType’? 359 | template <typename StringViewType, typename = IsStringViewType> | ^ ~~~| StringViewType /usr/local/include/TGUI/String.hpp:359:71: error: expected ‘>’ before ‘<’ token 359 | template <typename StringViewType, typename = IsStringViewType> | ^ /usr/local/include/TGUI/String.hpp:365:55: error: ‘IsStringViewType’ does not name a type; did you mean ‘StringViewType’? 365 | template <typename StringViewType, typename = IsStringViewType > | ^ ~~~| StringViewType /usr/local/include/TGUI/String.hpp:365:71: error: expected ‘>’ before ‘<’ token 365 | template <typename StringViewType, typename = IsStringViewType> | ^ /usr/local/include/TGUI/String.hpp:394:18: error: expected type-specifier 394 | operator std::u32string_view() const noexcept | ^~~ /usr/local/include/TGUI/String.hpp:736:28: error: ‘std::u32string_view’ has not been declared 736 | bool contains(std::u32string_view sv) const noexcept; | ^ ~~~~~ /usr/local/include/TGUI/String.hpp:771:31: error: ‘std::u32string_view’ has not been declared 771 | std::size_t find(std::u32string_view sv, std::size_t pos = 0) const noexcept; | ^~~~~~ /usr/local/include/TGUI/String.hpp:1466:29: error: ‘u32string_view’ in namespace ‘std’ does not name a type; did you mean ‘u32string’? 1466 | using StringView = std::u32string_view; | ^~~~~~ | u32string /usr/local/include/TGUI/String.hpp:1467:33: error: ‘string_view’ in namespace ‘std’ does not name a type 1467 | using CharStringView = std::string_view; | ^~~/usr/local/include/TGUI/String.hpp:1467:28: note: ‘std::string_view’ is only available from C++17 onwards 1467 | using CharStringView = std::string_view; | ^~~ In file included from /usr/local/include/TGUI/Timer.hpp:31, from /usr/local/include/TGUI/Core.hpp:32, from /usr/local/include/TGUI/TGUI.hpp:30, from build/obj/game/boe.menu.hpp:7, from build/obj/game/boe.menus.linux.cpp:9: /usr/local/include/TGUI/Optional.hpp:40:27: error: ‘optional’ in namespace ‘std’ does not name a template type 40 | using Optional = std::optional; | ^ ~~~ /usr/local/include/TGUI/Optional.hpp:40:22: note: ‘std::optional’ is only available from C++17 onwards 40 | using Optional = std::optional; | ^~~ In file included from /usr/local/include/TGUI/Core.hpp:32, from /usr/local/include/TGUI/TGUI.hpp:30, from build/obj/game/boe.menu.hpp:7, from build/obj/game/boe.menus.linux.cpp:9: /usr/local/include/TGUI/Timer.hpp:162:16: error: ‘Optional’ does not name a type 162 | static Optional getNextScheduledTime(); | ^ ~~~ In file included from /usr/local/include/TGUI/Global.hpp:35, from /usr/local/include/TGUI/Signal.hpp:31, from /usr/local/include/TGUI/Widget.hpp:31, from /usr/local/include/TGUI/Core.hpp:33, from /usr/local/include/TGUI/TGUI.hpp:30, from build/obj/game/boe.menu.hpp:7, from build/obj/game/boe.menus.linux.cpp:9: /usr/local/include/TGUI/Filesystem.hpp:80:64: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^~~~~ | is_same /usr/local/include/TGUI/Filesystem.hpp:80:64: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^~~~~ | is_same /usr/local/include/TGUI/Filesystem.hpp:80:89: error: ‘filesystem’ is not a member of ‘std’; did you mean ‘system’? 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^~~~~~ | system /usr/local/include/TGUI/Filesystem.hpp:80:89: error: ‘filesystem’ is not a member of ‘std’; did you mean ‘system’? 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^~~~~~ | system /usr/local/include/TGUI/Filesystem.hpp:80:105: error: template argument 1 is invalid 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^ /usr/local/include/TGUI/Filesystem.hpp:80:105: error: template argument 2 is invalid /usr/local/include/TGUI/Filesystem.hpp:80:113: error: expected unqualified-id before ‘=’ token 80 | template <typename PathType, std::enable_if_t<std::is_same_v<PathType, std::filesystem::path>, int> = 0> | ^/usr/local/include/TGUI/Filesystem.hpp:171:13: error: ‘operator const int’ does not name a type 171 | operator const std::filesystem::path&() const | ^
~~~ /usr/local/include/TGUI/Filesystem.hpp:247:18: error: ‘filesystem’ in namespace ‘std’ does not name a type; did you mean ‘system’? ...— Reply to this email directly, view it on GitHub https://github.com/calref/cboe/pull/354#issuecomment-2138649629, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATXBKKOYIBXU3DDTUDH5MTZE2SR7AVCNFSM6AAAAABIP2X55SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYGY2DSNRSHE . You are receiving this because you authored the thread.Message ID: @.***>
I'll have to put all this in the README.md
The TGUI_CXX_STANDARD=14 cmake . invocation didn't get me farther, but the .github/workflows/scripts/linux/install-tgui.sh did!
Had to manually cp /pr/Games/./TGUI/pkgconfig/tgui.pc /usr/local/lib/pkgconfig/ because the script didn't have write perms.
Seems to get most of the way through, but
g++ -o build/obj/test/catch.o -c -std=c++14 -include global.hpp -DTIXML_USE_TICPP -I/pr/Games/cboe -Isrc -Isrc/fileio/gzstream -Isrc/fileio/xml-parser -Ibuild/obj/test/deps/Catch2/single_include build/obj/test/catch.cpp
build/obj/test/catch.cpp:4:10: fatal error: catch.hpp: No such file or directory
4 | #include "catch.hpp"
| ^~~~~~~~~~~
compilation terminated.
scons: *** [build/obj/test/catch.o] build/obj/test/catch.hpp: Operation not permitted
Anyone have ideas?
Disabling the test in SConstruct got me a working build
To get the tests running you need to call
git submodule update --init
to clone a dependency the tests have.
So glad you got the build working! :)
On Thu, May 30, 2024 at 2:45 AM clort81 @.***> wrote:
Disabling the test in SConstruct got me a working build
env.VariantDir('#build/obj/test', 'test')
— Reply to this email directly, view it on GitHub https://github.com/calref/cboe/pull/354#issuecomment-2139060890, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATXBKLXFLOB4F7PJ5U4IF3ZE3RJTAVCNFSM6AAAAABIP2X55SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZZGA3DAOBZGA . You are receiving this because you authored the thread.Message ID: @.***>
"git submodule update --init"
If a git clone --recursive is needed to build the project, should that be in the README?
It should definitely be in the README, but what if someone clones the repository before they read it? 😂
On Thu, May 30, 2024 at 7:54 PM clort81 @.***> wrote:
"git submodule update --init"
If a git clone --recursive is needed to build the project, should that be in the README?
— Reply to this email directly, view it on GitHub https://github.com/calref/cboe/pull/354#issuecomment-2141104349, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATXBKOQ2O35V6PR4C4K44LZE7J6JAVCNFSM6AAAAABIP2X55SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBRGEYDIMZUHE . You are receiving this because you authored the thread.Message ID: @.***>
I still can't get win-scons to work, but everything else is (usually), plus vcpkg dependencies cache now, which saves like 10 minutes per re-run.