perbone / luascript

Lua language support for Godot Engine
Apache License 2.0
662 stars 46 forks source link

Windows build error #63

Closed LorenzoJohnson closed 11 months ago

LorenzoJohnson commented 1 year ago

Hello, I am trying to compile a version of godot with luascript on windows 10, but am getting the following errors when compiling with the mingw gcc compiler:

[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lobject.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lopcodes.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\loslib.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lparser.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lstate.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lstring.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lstrlib.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\ltable.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\ltablib.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\ltm.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lundump.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lutf8lib.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lvm.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\lua\lzio.c←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\ANTLRErrorListener.cpp←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\ANTLRErrorStrategy.cpp←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\ANTLRFileStream.cpp←[0;94m ...←[0m
[ 16%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\ANTLRInputStream.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\BailErrorStrategy.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\BaseErrorListener.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\BufferedTokenStream.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\CharStream.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\CommonToken.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\CommonTokenFactory.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\CommonTokenStream.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\ConsoleErrorListener.cpp←[0;94m ...←[0m
[ 17%] ←[0;94mCompiling ←[1;94mmodules\luascript\lib\antlr4\DefaultErrorStrategy.cpp←[0;94m ...←[0m
=====
modules\luascript\lib\antlr4\CommonToken.cpp:23:44: warning: 'antlr4::CommonToken::EMPTY_SOURCE' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   23 | const std::pair<TokenSource*, CharStream*> CommonToken::EMPTY_SOURCE;
      |                                            ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:25:1: warning: 'antlr4::CommonToken::CommonToken(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   25 | CommonToken::CommonToken(size_t type) {
      | ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:30:1: warning: 'antlr4::CommonToken::CommonToken(std::pair<antlr4::TokenSource*, antlr4::CharStream*>, size_t, size_t, size_t, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   30 | CommonToken::CommonToken(std::pair<TokenSource*, CharStream*> source, size_t type, size_t channel, size_t start, size_t stop) {
      | ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:43:1: warning: 'antlr4::CommonToken::CommonToken(size_t, const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   43 | CommonToken::CommonToken(size_t type, const std::string &text) {
      | ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:51:1: warning: 'antlr4::CommonToken::CommonToken(antlr4::Token*)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   51 | CommonToken::CommonToken(Token *oldToken) {
      | ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:70:8: warning: 'virtual size_t antlr4::CommonToken::getType() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   70 | size_t CommonToken::getType() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:74:6: warning: 'virtual void antlr4::CommonToken::setLine(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   74 | void CommonToken::setLine(size_t line) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:78:13: warning: 'virtual std::string antlr4::CommonToken::getText() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   78 | std::string CommonToken::getText() const {
      |             ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:95:6: warning: 'virtual void antlr4::CommonToken::setText(const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   95 | void CommonToken::setText(const std::string &text) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:99:8: warning: 'virtual size_t antlr4::CommonToken::getLine() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   99 | size_t CommonToken::getLine() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:103:8: warning: 'virtual size_t antlr4::CommonToken::getCharPositionInLine() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  103 | size_t CommonToken::getCharPositionInLine() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:107:6: warning: 'virtual void antlr4::CommonToken::setCharPositionInLine(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  107 | void CommonToken::setCharPositionInLine(size_t charPositionInLine) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:111:8: warning: 'virtual size_t antlr4::CommonToken::getChannel() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  111 | size_t CommonToken::getChannel() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:115:6: warning: 'virtual void antlr4::CommonToken::setChannel(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  115 | void CommonToken::setChannel(size_t channel) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:119:6: warning: 'virtual void antlr4::CommonToken::setType(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  119 | void CommonToken::setType(size_t type) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:123:8: warning: 'virtual size_t antlr4::CommonToken::getStartIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  123 | size_t CommonToken::getStartIndex() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:127:6: warning: 'virtual void antlr4::CommonToken::setStartIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  127 | void CommonToken::setStartIndex(size_t start) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:131:8: warning: 'virtual size_t antlr4::CommonToken::getStopIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  131 | size_t CommonToken::getStopIndex() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:135:6: warning: 'virtual void antlr4::CommonToken::setStopIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  135 | void CommonToken::setStopIndex(size_t stop) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:139:8: warning: 'virtual size_t antlr4::CommonToken::getTokenIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  139 | size_t CommonToken::getTokenIndex() const {
      |        ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:143:6: warning: 'virtual void antlr4::CommonToken::setTokenIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  143 | void CommonToken::setTokenIndex(size_t index) {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:147:22: warning: 'virtual antlr4::TokenSource* antlr4::CommonToken::getTokenSource() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  147 | antlr4::TokenSource *CommonToken::getTokenSource() const {
      |                      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:151:21: warning: 'virtual antlr4::CharStream* antlr4::CommonToken::getInputStream() const' redeclared without dllimport attribute after being referenced with dll linkage
  151 | antlr4::CharStream *CommonToken::getInputStream() const {
      |                     ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:155:13: warning: 'virtual std::string antlr4::CommonToken::toString() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  155 | std::string CommonToken::toString() const {
      |             ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:159:13: warning: 'virtual std::string antlr4::CommonToken::toString(antlr4::Recognizer*) const' redeclared without dllimport attribute after being referenced with dll linkage
  159 | std::string CommonToken::toString(Recognizer *r) const {
      |             ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:184:6: warning: 'void antlr4::CommonToken::InitializeInstanceFields()' redeclared without dllimport attribute after being referenced with dll linkage
  184 | void CommonToken::InitializeInstanceFields() {
      |      ^~~~~~~~~~~
modules\luascript\lib\antlr4\CommonToken.cpp:23:44: error: definition of static data member 'antlr4::CommonToken::EMPTY_SOURCE' of dllimport'd class
   23 | const std::pair<TokenSource*, CharStream*> CommonToken::EMPTY_SOURCE;
      |                                            ^~~~~~~~~~~

=====
scons: *** [modules\luascript\lib\antlr4\CommonToken.windows.template_release.x86_64.o] Error 1
=====
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50: warning: 'antlr4::CommonTokenFactory::DEFAULT' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   14 | const std::unique_ptr<TokenFactory<CommonToken>> CommonTokenFactory::DEFAULT(new CommonTokenFactory);
      |                                                  ^~~~~~~~~~~~~~~~~~
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:16:1: warning: 'antlr4::CommonTokenFactory::CommonTokenFactory(bool)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   16 | CommonTokenFactory::CommonTokenFactory(bool copyText_) : copyText(copyText_) {
      | ^~~~~~~~~~~~~~~~~~
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:19:1: warning: 'antlr4::CommonTokenFactory::CommonTokenFactory()' redeclared without dllimport attribute after being referenced with dll linkage
   19 | CommonTokenFactory::CommonTokenFactory() : CommonTokenFactory(false) {
      | ^~~~~~~~~~~~~~~~~~
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:22:30: warning: 'virtual std::unique_ptr<antlr4::CommonToken, std::default_delete<antlr4::CommonToken> > antlr4::CommonTokenFactory::create(std::pair<antlr4::TokenSource*, antlr4::CharStream*>, size_t, const std::string&, size_t, size_t, size_t, size_t, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   22 | std::unique_ptr<CommonToken> CommonTokenFactory::create(std::pair<TokenSource*, CharStream*> source, size_t type,
      |                              ^~~~~~~~~~~~~~~~~~
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:37:30: warning: 'virtual std::unique_ptr<antlr4::CommonToken, std::default_delete<antlr4::CommonToken> > antlr4::CommonTokenFactory::create(size_t, const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   37 | std::unique_ptr<CommonToken> CommonTokenFactory::create(size_t type, const std::string &text) {
      |                              ^~~~~~~~~~~~~~~~~~
In destructor 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = antlr4::TokenFactory<antlr4::CommonToken>; _Dp = std::default_delete<antlr4::TokenFactory<antlr4::CommonToken> >]',
    inlined from 'void __tcf_1()' at modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50:
modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50: error: definition of static data member 'antlr4::CommonTokenFactory::DEFAULT' of dllimport'd class
   14 | const std::unique_ptr<TokenFactory<CommonToken>> CommonTokenFactory::DEFAULT(new CommonTokenFactory);
      |                                                  ^~~~~~~~~~~~~~~~~~

=====
scons: *** [modules\luascript\lib\antlr4\CommonTokenFactory.windows.template_release.x86_64.o] Error 1
=====
modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22: warning: 'antlr4::ConsoleErrorListener::INSTANCE' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   10 | ConsoleErrorListener ConsoleErrorListener::INSTANCE;
      |                      ^~~~~~~~~~~~~~~~~~~~
modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:12:6: warning: 'virtual void antlr4::ConsoleErrorListener::syntaxError(antlr4::Recognizer*, antlr4::Token*, size_t, size_t, const std::string&, std::__exception_ptr::exception_ptr)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   12 | void ConsoleErrorListener::syntaxError(Recognizer * /*recognizer*/, Token * /*offendingSymbol*/,
      |      ^~~~~~~~~~~~~~~~~~~~
In destructor 'virtual antlr4::BaseErrorListener::~BaseErrorListener()',
    inlined from 'virtual antlr4::ConsoleErrorListener::~ConsoleErrorListener()' at modules\luascript\lib\antlr4\ConsoleErrorListener.h:12:26,
    inlined from 'void __tcf_1()' at modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22:
modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22: error: definition of static data member 'antlr4::ConsoleErrorListener::INSTANCE' of dllimport'd class
   10 | ConsoleErrorListener ConsoleErrorListener::INSTANCE;
      |                      ^~~~~~~~~~~~~~~~~~~~

=====
scons: *** [modules\luascript\lib\antlr4\ConsoleErrorListener.windows.template_release.x86_64.o] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:03:32.653]

I have managed to build godot without any additional modules, and am currently only trying to compile it with luascript so I don't think it's caused by external errors. Would it be possible to help with this?

Thanks for your help.

FatigueDev commented 1 year ago

I ran in both mingw and Visual Studio's build tools and it might not be worth mentioning, but I receive the exact same as in this issue and the following linked issue. Might help narrow it down, at least. https://github.com/perbone/luascript/issues/62

-- Edit --

Build succeeds on https://github.com/godotengine/godot/releases/tag/4.0.4-stable As much as I'd like to have the latest, this'll have to do for now.

Poikilos commented 1 year ago

@perbone Hello, you can now test it without a Windows computer! See https://www.reddit.com/r/godot/comments/10q1gim/just_released_a_github_action_to_setup_godot_net/

LorenzoJohnson commented 1 year ago

I ran in both mingw and Visual Studio's build tools and it might not be worth mentioning, but I receive the exact same as in this issue and the following linked issue. Might help narrow it down, at least. #62

-- Edit --

Build succeeds on https://github.com/godotengine/godot/releases/tag/4.0.4-stable As much as I'd like to have the latest, this'll have to do for now.

Using VS or MingW? I tried on my own side on a build of 4.0.4 but that still threw errors on MingW.

FatigueDev commented 1 year ago

I ran in both mingw and Visual Studio's build tools and it might not be worth mentioning, but I receive the exact same as in this issue and the following linked issue. Might help narrow it down, at least. #62 -- Edit -- Build succeeds on https://github.com/godotengine/godot/releases/tag/4.0.4-stable As much as I'd like to have the latest, this'll have to do for now.

Using VS or MingW? I tried on my own side on a build of 4.0.4 but that still threw errors on MingW.

Got it working with the VS build tools. It's really an act of God I got it working at all. I wish I could help more but I just gave up after I couldn't debug with breakpoints and used C# instead. :(

GokuHiki commented 1 year ago

Well... luascript not work with new version 4.1 of Godot. It only works with v4.0.4. Here is the exe by Microsoft VS if anyone need: https://www.mediafire.com/file/986t8d1mqzrzr83/godot-4.0.4%252Bluascript.zip/file

It would be nice if dev fix for new version of Godot! Thank you and regards.

perbone commented 1 year ago

Hi all!

I now have a Windows machine and may work on this soon.

-- Perbone

perbone commented 1 year ago

I added missing new methods and it compiled without issues using Windows 11 and VS2022. Please try again.

-- Perbone

GokuHiki commented 1 year ago

I build godot 4.1.2 with MSVS 2019 error failed: command: scons platform=windows module_luascript_enabled=yes Error:

lua_script.cpp
[ 30%] D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methods

D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methodsD:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methods

D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(34): error C3668: 'LuaScriptInstance::validate_property': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(47): error C3668: 'LuaScriptInstance::notification': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(34): error C3668: 'LuaScriptInstance::validate_property': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(47): error C3668: 'LuaScriptInstance::notification': method with override specifier 'override' did not override any base class methods
[ 31%] D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_language.h(53): error C3668: 'LuaScriptLanguage::get_doc_comment_delimiters': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_language.h(53): error C3668: 'LuaScriptLanguage::get_doc_comment_delimiters': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_language.h(53): error C3668: 'LuaScriptLanguage::get_doc_comment_delimiters': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_language.h(53): error C3668: 'LuaScriptLanguage::get_doc_comment_delimiters': method with override specifier 'override' did not override any base class methods
[ 31%] D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(57): error C3668: 'LuaScript::get_class_icon_path': method with override specifier 'override' did not override any base class methods
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script.h(66): error C3668: 'LuaScript::is_abstract': method with override specifier 'override' did not override any base class methods
[ 31%] D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_language.h(53): error C3668: 'LuaScriptLanguage::get_doc_comment_delimiters': method with override specifier 'override' did not override any base class methods
[ 31%] modules\luascript\lua_script.cpp(85): error C2259: 'LuaScriptInstance': cannot instantiate abstract class
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(24): note: see declaration of 'LuaScriptInstance'
modules\luascript\lua_script.cpp(85): note: due to following members:
modules\luascript\lua_script.cpp(85): note: 'void ScriptInstance::notification(int)': is abstract
.\core/object/script_language.h(206): note: see declaration of 'ScriptInstance::notification'
modules\luascript\lua_script.cpp(85): error C2259: 'LuaScriptInstance': cannot instantiate abstract class
D:\Downloads\_Dev\godot-4.1.2\modules\luascript\lua_script_instance.h(24): note: see declaration of 'LuaScriptInstance'
modules\luascript\lua_script.cpp(85): note: due to following members:
modules\luascript\lua_script.cpp(85): note: 'void ScriptInstance::notification(int)': is abstract
.\core/object/script_language.h(206): note: see declaration of 'ScriptInstance::notification'
[ 33%] scons: *** [modules\luascript\lua_script.windows.editor.x86_64.obj] Error 2
Compiling modules\navigation\navigation_mesh_generator.cpp ...
scons: *** [modules\luascript\lua_script_resource_formate_saver.windows.editor.x86_64.obj] Error 2
scons: *** [modules\luascript\lua_script_resource_formate_loader.windows.editor.x86_64.obj] Error 2
scons: *** [modules\luascript\lua_script_language.windows.editor.x86_64.obj] Error 2
scons: *** [modules\luascript\lua_script_instance.windows.editor.x86_64.obj] Error 2
scons: *** [modules\luascript\register_types.windows.editor.x86_64.obj] Error 2
navigation_mesh_generator.cpp
scons: building terminated because of errors.

What have I done wrong here? Can you take a look?

Thank you and regards!

perbone commented 1 year ago

I believe it's because you are behind the master version. Probably the API changes that I fixed come in on the latest commits that only master has for the time been. Try compiling it against master, that was the branch I used. -- Perbone

GokuHiki commented 1 year ago

Build is ok without error! But the lua code not run at all. I attach lua code to node but the script not run. When I open godot with console I see that console alway print this to output nonstop:

9164 2023-10-16 11:08:10.117 0  0 L
9164 2023-10-16 11:08:10.251 0  0 r
9164 2023-10-16 11:08:10.254 0  0 L
9164 2023-10-16 11:08:10.823 0  0 L
9164 2023-10-16 11:08:10.826 0  0 L
9164 2023-10-16 11:08:11.079 0  0 L
9164 2023-10-16 11:08:11.083 0  0 L
9164 2023-10-16 11:08:11.348 0  0 L
9164 2023-10-16 11:08:11.351 0  0 L
9164 2023-10-16 11:08:12.099 0  0 L
9164 2023-10-16 11:08:12.103 0  0 L
9164 2023-10-16 11:08:12.128 0  0 L
...

I have no idea but maybe something wrong on my environment. I will try to test it on a virtual machine!

Thank and regards!

perbone commented 1 year ago

Hi! Yeah some things are broken on windows I just started working on this platform. I'm looking into the issues, I hope I can have a version working soon. --Perbone

xky5000 commented 1 year ago

@perbone It would be great if there were a ready-compiled version, which, like me, is too difficult for people who can't compile; Hope there is a compiled version of windows, thanks for sharing.

perbone commented 1 year ago

Right... Well, at the moment there is little too see, as a full blow integration with Godot, the editor etc has a lot of boilerplate code that is not shown to the end user (the game developer). So at some point I will set up a build workflow to generate ready-to-use binaries. For now, unfortunately, it's up to you too compile the module. -- perbone

xky5000 commented 8 months ago

I added missing new methods and it compiled without issues using Windows 11 and VS2022. Please try again.

-- Perbone -- Hello, Perbone System:win10 + scons 4.6 I build godot 4.2.1 with scons 4.6 + mingw-w64-v11.0.0 error failed: command: scons -j10 platform=windows module_luascript_enabled=yes

What's the solution? Thank you.

The tips are as follows: [Initial build] Compiling modules\luascript\lib\antlr4\FailedPredicateException.cpp ...

modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50: warning: 'antlr4::CommonTokenFactory::DEFAULT' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 14 | const std::uniqueptr<TokenFactory> CommonTokenFactory::DEFAULT(new CommonTokenFactory); | ^~~~~~ modules\luascript\lib\antlr4\CommonTokenFactory.cpp:16:1: warning: 'antlr4::CommonTokenFactory::CommonTokenFactory(bool)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 16 | CommonTokenFactory::CommonTokenFactory(bool copyText) : copyText(copyText_) { | ^~~~~~ modules\luascript\lib\antlr4\CommonTokenFactory.cpp:19:1: warning: 'antlr4::CommonTokenFactory::CommonTokenFactory()' redeclared without dllimport attribute after being referenced with dll linkage 19 | CommonTokenFactory::CommonTokenFactory() : CommonTokenFactory(false) { | ^~~~~~ modules\luascript\lib\antlr4\CommonTokenFactory.cpp:22:30: warning: 'virtual std::unique_ptr<antlr4::CommonToken, std::default_delete > antlr4::CommonTokenFactory::create(std::pair<antlr4::TokenSource, antlr4::CharStream>, size_t, const std::string&, size_t, size_t, size_t, size_t, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 22 | std::unique_ptr CommonTokenFactory::create(std::pair<TokenSource, CharStream> source, size_t type, | ^~~~~~ modules\luascript\lib\antlr4\CommonTokenFactory.cpp:37:30: warning: 'virtual std::unique_ptr<antlr4::CommonToken, std::default_delete > antlr4::CommonTokenFactory::create(size_t, const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 37 | std::unique_ptr CommonTokenFactory::create(size_t type, const std::string &text) { | ^~~~~~ In destructor 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = antlr4::TokenFactory; _Dp = std::default_delete<antlr4::TokenFactory >]', inlined from 'void __tcf_0()' at modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50: modules\luascript\lib\antlr4\CommonTokenFactory.cpp:14:50: error: definition of static data member 'antlr4::CommonTokenFactory::DEFAULT' of dllimport'd class 14 | const std::unique_ptr<TokenFactory> CommonTokenFactory::DEFAULT(new CommonTokenFactory); | ^~~~~~

===== scons: *** [modules\luascript\lib\antlr4\CommonTokenFactory.windows.editor.x86_64.o] Error 1

modules\luascript\lib\antlr4\CommonToken.cpp:23:44: warning: 'antlr4::CommonToken::EMPTY_SOURCE' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 23 | const std::pair<TokenSource, CharStream> CommonToken::EMPTY_SOURCE; | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:25:1: warning: 'antlr4::CommonToken::CommonToken(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 25 | CommonToken::CommonToken(size_t type) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:30:1: warning: 'antlr4::CommonToken::CommonToken(std::pair<antlr4::TokenSource, antlr4::CharStream>, size_t, size_t, size_t, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 30 | CommonToken::CommonToken(std::pair<TokenSource, CharStream> source, size_t type, size_t channel, size_t start, size_t stop) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:43:1: warning: 'antlr4::CommonToken::CommonToken(size_t, const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 43 | CommonToken::CommonToken(size_t type, const std::string &text) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:51:1: warning: 'antlr4::CommonToken::CommonToken(antlr4::Token)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 51 | CommonToken::CommonToken(Token oldToken) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:70:8: warning: 'virtual size_t antlr4::CommonToken::getType() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 70 | size_t CommonToken::getType() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:74:6: warning: 'virtual void antlr4::CommonToken::setLine(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 74 | void CommonToken::setLine(size_t line) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:78:13: warning: 'virtual std::string antlr4::CommonToken::getText() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 78 | std::string CommonToken::getText() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:95:6: warning: 'virtual void antlr4::CommonToken::setText(const std::string&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 95 | void CommonToken::setText(const std::string &text) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:99:8: warning: 'virtual size_t antlr4::CommonToken::getLine() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 99 | size_t CommonToken::getLine() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:103:8: warning: 'virtual size_t antlr4::CommonToken::getCharPositionInLine() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 103 | size_t CommonToken::getCharPositionInLine() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:107:6: warning: 'virtual void antlr4::CommonToken::setCharPositionInLine(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 107 | void CommonToken::setCharPositionInLine(size_t charPositionInLine) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:111:8: warning: 'virtual size_t antlr4::CommonToken::getChannel() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 111 | size_t CommonToken::getChannel() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:115:6: warning: 'virtual void antlr4::CommonToken::setChannel(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 115 | void CommonToken::setChannel(size_t channel) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:119:6: warning: 'virtual void antlr4::CommonToken::setType(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 119 | void CommonToken::setType(size_t type) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:123:8: warning: 'virtual size_t antlr4::CommonToken::getStartIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 123 | size_t CommonToken::getStartIndex() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:127:6: warning: 'virtual void antlr4::CommonToken::setStartIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 127 | void CommonToken::setStartIndex(size_t start) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:131:8: warning: 'virtual size_t antlr4::CommonToken::getStopIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 131 | size_t CommonToken::getStopIndex() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:135:6: warning: 'virtual void antlr4::CommonToken::setStopIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 135 | void CommonToken::setStopIndex(size_t stop) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:139:8: warning: 'virtual size_t antlr4::CommonToken::getTokenIndex() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 139 | size_t CommonToken::getTokenIndex() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:143:6: warning: 'virtual void antlr4::CommonToken::setTokenIndex(size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 143 | void CommonToken::setTokenIndex(size_t index) { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:147:22: warning: 'virtual antlr4::TokenSource antlr4::CommonToken::getTokenSource() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 147 | antlr4::TokenSource CommonToken::getTokenSource() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:151:21: warning: 'virtual antlr4::CharStream antlr4::CommonToken::getInputStream() const' redeclared without dllimport attribute after being referenced with dll linkage 151 | antlr4::CharStream CommonToken::getInputStream() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:155:13: warning: 'virtual std::string antlr4::CommonToken::toString() const' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 155 | std::string CommonToken::toString() const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:159:13: warning: 'virtual std::string antlr4::CommonToken::toString(antlr4::Recognizer) const' redeclared without dllimport attribute after being referenced with dll linkage 159 | std::string CommonToken::toString(Recognizer r) const { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:184:6: warning: 'void antlr4::CommonToken::InitializeInstanceFields()' redeclared without dllimport attribute after being referenced with dll linkage 184 | void CommonToken::InitializeInstanceFields() { | ^~~ modules\luascript\lib\antlr4\CommonToken.cpp:23:44: error: definition of static data member 'antlr4::CommonToken::EMPTY_SOURCE' of dllimport'd class 23 | const std::pair<TokenSource, CharStream> CommonToken::EMPTY_SOURCE; | ^~~

===== scons: *** [modules\luascript\lib\antlr4\CommonToken.windows.editor.x86_64.o] Error 1

modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22: warning: 'antlr4::ConsoleErrorListener::INSTANCE' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 10 | ConsoleErrorListener ConsoleErrorListener::INSTANCE; | ^~~~~~~~ modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:12:6: warning: 'virtual void antlr4::ConsoleErrorListener::syntaxError(antlr4::Recognizer, antlr4::Token, size_t, size_t, const std::string&, std::exception_ptr::exception_ptr)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 12 | void ConsoleErrorListener::syntaxError(Recognizer /recognizer/, Token /offendingSymbol/, | ^~~~~~~~ In destructor 'virtual antlr4::BaseErrorListener::~BaseErrorListener()', inlined from 'virtual antlr4::ConsoleErrorListener::~ConsoleErrorListener()' at modules\luascript\lib\antlr4\ConsoleErrorListener.h:12:26, inlined from 'void tcf_0()' at modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22: modules\luascript\lib\antlr4\ConsoleErrorListener.cpp:10:22: error: definition of static data member 'antlr4::ConsoleErrorListener::INSTANCE' of dllimport'd class 10 | ConsoleErrorListener ConsoleErrorListener::INSTANCE; | ^~~~~~~~

===== scons: *** [modules\luascript\lib\antlr4\ConsoleErrorListener.windows.editor.x86_64.o] Error 1 scons: building terminated because of errors.