Open evharten opened 1 year ago
to add, using cmangos-one repo as core, since a lot of patches are in there.
mangos-one or cmangos-tbc? There is no cmangos one
mangos-one or cmangos-tbc? There is no cmangos one
cmangos-tbc my apologies :)
Partially fixed as 1 of the errors was an lower or uppercase G, so that was easely fixed.
[ 65%] Building CXX object src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:26, from /home/cmangos/mangos/src/modules/Bots/playerbot/../botpch.h:16, from /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:1: /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:8:45: error: expected ‘)’ before ‘*’ token 8 | PlayerbotAIAware(PlayerbotAI* const ai): ai(ai) { }; | ~ ^ | ) /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:11:17: error: ‘PlayerbotAI’ does not name a type 11 | PlayerbotAI* const ai; | ^~~~~~~~~~~ In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:29: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatHelper.h:13:31: error: expected ‘)’ before ‘*’ token 13 | ChatHelper(PlayerbotAI* ai); | ~ ^ | ) In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAI.h:6, from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:30: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Strategy* ai::AiObjectContext::GetStrategy(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:18:96: error: expected primary-expression before ‘)’ token 18 | virtual Strategy* GetStrategy(string name) { return strategyContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Trigger* ai::AiObjectContext::GetTrigger(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:20:93: error: expected primary-expression before ‘)’ token 20 | virtual Trigger* GetTrigger(string name) { return triggerContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Action* ai::AiObjectContext::GetAction(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:21:90: error: expected primary-expression before ‘)’ token 21 | virtual Action* GetAction(string name) { return actionContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::UntypedValue* ai::AiObjectContext::GetUntypedValue(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:22:101: error: expected primary-expression before ‘)’ token 22 | virtual UntypedValue* GetUntypedValue(string name) { return valueContexts.GetObject(name, ai); } | ^ make[2]: *** [src/modules/Bots/CMakeFiles/Bots.dir/build.make:97: src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:733: src/modules/Bots/CMakeFiles/Bots.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
It seems like it cannot find the PlayerbotAI definition, but that file is later included, moving it more up in the .h isnt fixing it, as it then throws more errors due to the chat and stuff missing other includes.
Did you enable PCH in cmake
[ 66%] Building CXX object src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:25, from /home/cmangos/mangos/src/modules/Bots/playerbot/../botpch.h:16, from /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:1: /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:8:37: error: expected ‘)’ before ‘*’ token 8 | PlayerbotAIAware(PlayerbotAI* const ai) : ai(ai) { } | ~ ^ | ) /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:11:9: error: ‘PlayerbotAI’ does not name a type 11 | PlayerbotAI* ai; | ^~~~~~~~~~~ In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:28: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatHelper.h:13:31: error: expected ‘)’ before ‘*’ token 13 | ChatHelper(PlayerbotAI* ai); | ~ ^ | ) In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAI.h:6, from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:29: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Strategy* ai::AiObjectContext::GetStrategy(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:18:96: error: expected primary-expression before ‘)’ token 18 | virtual Strategy* GetStrategy(string name) { return strategyContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Trigger* ai::AiObjectContext::GetTrigger(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:20:93: error: expected primary-expression before ‘)’ token 20 | virtual Trigger* GetTrigger(string name) { return triggerContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Action* ai::AiObjectContext::GetAction(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:21:90: error: expected primary-expression before ‘)’ token 21 | virtual Action* GetAction(string name) { return actionContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::UntypedValue* ai::AiObjectContext::GetUntypedValue(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:22:101: error: expected primary-expression before ‘)’ token 22 | virtual UntypedValue* GetUntypedValue(string name) { return valueContexts.GetObject(name, ai); } | ^ In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAI.h:9: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatFilter.h: In constructor ‘ai::ChatFilter::ChatFilter(PlayerbotAI*)’: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatFilter.h:10:58: error: no matching function for call to ‘ai::PlayerbotAIAware::PlayerbotAIAware(PlayerbotAI*&)’ 10 | ChatFilter(PlayerbotAI* ai) : PlayerbotAIAware(ai) {} | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware()’ 5 | class PlayerbotAIAware | ^~~~~~~~~~~~~~~~ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate expects 0 arguments, 1 provided /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware(const ai::PlayerbotAIAware&)’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: no known conversion for argument 1 from ‘PlayerbotAI*’ to ‘const ai::PlayerbotAIAware&’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware(ai::PlayerbotAIAware&&)’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: no known conversion for argument 1 from ‘PlayerbotAI*’ to ‘ai::PlayerbotAIAware&&’ /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp: In static member function ‘static void AiFactory::AddDefaultCombatStrategies(Player*, PlayerbotAI*, ai::Engine*)’: /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:121:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 121 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:153:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 153 | if (player->getLevel() > 29) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:155:34: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 155 | else if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:173:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 173 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:183:25: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 183 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:195:25: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 195 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:207:62: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 207 | if (player->getClass() == CLASS_DRUID && player->getLevel() < 20) | ^~~~~~~~ | GetLevel make[2]: *** [src/modules/Bots/CMakeFiles/Bots.dir/build.make:76: src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:754: src/modules/Bots/CMakeFiles/Bots.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
Cannot seem to get it compiled on Linux, the core compiles without issues, but sadly the bots don't am i missing something ?