godot-git-plugin
godot-git-plugin copied to clipboard
Port from GDNative to GDExtension for Godot 4.x
This also renames GitAPI to GitPlugin. There is no change in functionality from v2.x as of now.
This PR is updated in parallel with https://github.com/godotengine/godot/pull/62157
Right now this throws compilation errors using the extensions API generated from https://github.com/godotengine/godot/pull/62157
Compilation logs
$ scons p=windows target=debug -j8
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
cl /Fogodot-git-plugin\src\git_plugin.obj /c godot-git-plugin\src\git_plugin.cpp /TP /nologo -DWIN32 -D_WIN32 -D_WINDOWS -W3 -GR -D_CRT_SECURE_NO_WARNINGS /std:c++17 -EHsc -D_DEBUG -MDd /DEBUG /Igodot-git-plugin /Igodot-git-plugin\src /Igodot-cpp\godot-headers /Igodot-cpp\include /Igodot-cpp\gen\include /Ithirdparty\git2\libgit2\include /Z7
git_plugin.cpp
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(162): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(178): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(177): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(176): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(207): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(209): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(211): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/variant/color.hpp(213): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
cl /Fothirdparty\git2\libgit2\src\repository.obj /c thirdparty\git2\libgit2\src\repository.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
cl /Fothirdparty\git2\libgit2\src\reset.obj /c thirdparty\git2\libgit2\src\reset.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
cl /Fothirdparty\git2\libgit2\src\revert.obj /c thirdparty\git2\libgit2\src\revert.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
repository.c
cl /Fothirdparty\git2\libgit2\src\revparse.obj /c thirdparty\git2\libgit2\src\revparse.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
reset.c
cl /Fothirdparty\git2\libgit2\src\revwalk.obj /c thirdparty\git2\libgit2\src\revwalk.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
cl /Fothirdparty\git2\libgit2\src\runtime.obj /c thirdparty\git2\libgit2\src\runtime.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
revert.c
cl /Fothirdparty\git2\libgit2\src\signature.obj /c thirdparty\git2\libgit2\src\signature.c /nologo /DGIT_THREADS /DGIT_SSH /DGIT_SSH_MEMORY_CREDENTIALS /DLIBGIT2_NO_FEATURES_H /DGIT_SHA1_COLLISIONDETECT /DGIT_HTTPS /DSRC_UTIL_H_ /DGIT_REGEX_BUILTIN /Ithirdparty\git2\libgit2\include /Ithirdparty\git2\libgit2\src /Ithirdparty\git2\libgit2\deps\http-parser /Ithirdparty\git2\libgit2\deps\pcre /Ithirdparty\git2\libgit2\deps\zlib /Ithirdparty\git2\libgit2\deps\ntlmclient /Ithirdparty\ssh2\libssh2\include
revparse.c
revwalk.c
signature.c
runtime.c
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2440: 'reinterpret_cast': cannot convert from 'void (__cdecl GitPlugin::* )(const godot::String &)' to 'void (__cdecl godot::___UnexistingClass::* )(const godot::String &)'
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,const godot::String&>(void (__cdecl GitPlugin::* )(const godot::String &))' being compiled
godot-git-plugin\src\git_plugin.cpp(29): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,void(__cdecl GitPlugin::* )(const godot::String &),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=void (__cdecl GitPlugin::* )(const godot::String &)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2512: 'godot::MethodBindT<const godot::String &>::MethodBindT': no appropriate default constructor available
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2672: 'godot::_post_initialize': no matching overloaded function found
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(void)' to 'R (__cdecl godot::___UnexistingClass::* )(void)'
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,godot::Array,>(R (__cdecl GitPlugin::* )(void))' being compiled
with
[
R=godot::Array
]
godot-git-plugin\src\git_plugin.cpp(30): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,godot::Array(__cdecl GitPlugin::* )(void),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=godot::Array (__cdecl GitPlugin::* )(void)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R>::MethodBindTR': no appropriate default constructor available
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2672: 'godot::_post_initialize': no matching overloaded function found
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(const godot::String &,int64_t)' to 'R (__cdecl godot::___UnexistingClass::* )(const godot::String &,int64_t)'
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,godot::Array,const godot::String&,int64_t>(R (__cdecl GitPlugin::* )(const godot::String &,int64_t))' being compiled
with
[
R=godot::Array
]
godot-git-plugin\src\git_plugin.cpp(32): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,godot::Array(__cdecl GitPlugin::* )(const godot::String &,int64_t),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=godot::Array (__cdecl GitPlugin::* )(const godot::String &,int64_t)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R,const godot::String &,int64_t>::MethodBindTR': no appropriate default constructor available
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(void)' to 'R (__cdecl godot::___UnexistingClass::* )(void)'
with
[
R=godot::String
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,godot::String,>(R (__cdecl GitPlugin::* )(void))' being compiled
with
[
R=godot::String
]
godot-git-plugin\src\git_plugin.cpp(33): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,godot::String(__cdecl GitPlugin::* )(void),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=godot::String (__cdecl GitPlugin::* )(void)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R>::MethodBindTR': no appropriate default constructor available
with
[
R=godot::String
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(const godot::String &)' to 'R (__cdecl godot::___UnexistingClass::* )(const godot::String &)'
with
[
R=bool
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,bool,const godot::String&>(R (__cdecl GitPlugin::* )(const godot::String &))' being compiled
with
[
R=bool
]
godot-git-plugin\src\git_plugin.cpp(34): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,bool(__cdecl GitPlugin::* )(const godot::String &),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=bool (__cdecl GitPlugin::* )(const godot::String &)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R,const godot::String &>::MethodBindTR': no appropriate default constructor available
with
[
R=bool
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(void)' to 'R (__cdecl godot::___UnexistingClass::* )(void)'
with
[
R=bool
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,bool,>(R (__cdecl GitPlugin::* )(void))' being compiled
with
[
R=bool
]
godot-git-plugin\src\git_plugin.cpp(35): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,bool(__cdecl GitPlugin::* )(void),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=bool (__cdecl GitPlugin::* )(void)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R>::MethodBindTR': no appropriate default constructor available
with
[
R=bool
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(int64_t)' to 'R (__cdecl godot::___UnexistingClass::* )(int64_t)'
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,godot::Array,int64_t>(R (__cdecl GitPlugin::* )(int64_t))' being compiled
with
[
R=godot::Array
]
godot-git-plugin\src\git_plugin.cpp(39): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,godot::Array(__cdecl GitPlugin::* )(int64_t),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=godot::Array (__cdecl GitPlugin::* )(int64_t)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R,int64_t>::MethodBindTR': no appropriate default constructor available
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2440: 'reinterpret_cast': cannot convert from 'void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &)' to 'void (__cdecl godot::___UnexistingClass::* )(const godot::String &,const godot::String &)'
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,const godot::String&,const godot::String&>(void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &))' being compiled
godot-git-plugin\src\git_plugin.cpp(42): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,void(__cdecl GitPlugin::* )(const godot::String &,const godot::String &),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2512: 'godot::MethodBindT<const godot::String &,const godot::String &>::MethodBindT': no appropriate default constructor available
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2440: 'reinterpret_cast': cannot convert from 'void (__cdecl GitPlugin::* )(const godot::String &,bool)' to 'void (__cdecl godot::___UnexistingClass::* )(const godot::String &,bool)'
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,const godot::String&,bool>(void (__cdecl GitPlugin::* )(const godot::String &,bool))' being compiled
godot-git-plugin\src\git_plugin.cpp(49): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,void(__cdecl GitPlugin::* )(const godot::String &,bool),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=void (__cdecl GitPlugin::* )(const godot::String &,bool)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2512: 'godot::MethodBindT<const godot::String &,bool>::MethodBindT': no appropriate default constructor available
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2440: 'reinterpret_cast': cannot convert from 'R (__cdecl GitPlugin::* )(const godot::String &,const godot::String &)' to 'R (__cdecl godot::___UnexistingClass::* )(const godot::String &,const godot::String &)'
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,godot::Array,const godot::String&,const godot::String&>(R (__cdecl GitPlugin::* )(const godot::String &,const godot::String &))' being compiled
with
[
R=godot::Array
]
godot-git-plugin\src\git_plugin.cpp(50): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,godot::Array(__cdecl GitPlugin::* )(const godot::String &,const godot::String &),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=godot::Array (__cdecl GitPlugin::* )(const godot::String &,const godot::String &)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(490): error C2512: 'godot::MethodBindTR<R,const godot::String &,const godot::String &>::MethodBindTR': no appropriate default constructor available
with
[
R=godot::Array
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2440: 'reinterpret_cast': cannot convert from 'void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &)' to 'void (__cdecl godot::___UnexistingClass::* )(const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &)'
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): note: Pointers to members have different representations; cannot cast between them
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/class_db.hpp(183): note: see reference to function template instantiation 'godot::MethodBind *godot::create_method_bind<GitPlugin,const godot::String&,const godot::String&,const godot::String&,const godot::String&,const godot::String&>(void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &))' being compiled
godot-git-plugin\src\git_plugin.cpp(51): note: see reference to function template instantiation 'godot::MethodBind *godot::ClassDB::bind_method<godot::MethodDefinition,void(__cdecl GitPlugin::* )(const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &),>(N,M)' being compiled
with
[
N=godot::MethodDefinition,
M=void (__cdecl GitPlugin::* )(const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &)
]
C:\Users\Twarit\Documents\Github\godotengine\godot-git-plugin\godot-cpp\include\godot_cpp/core/method_bind.hpp(331): error C2512: 'godot::MethodBindT<const godot::String &,const godot::String &,const godot::String &,const godot::String &,const godot::String &>::MethodBindT': no appropriate default constructor available
scons: *** [godot-git-plugin\src\git_plugin.obj] Error 2
scons: building terminated because of errors.
Note: We also need to update api.json to have the 4.0 extension API JSON containing the API changes from https://github.com/godotengine/godot/pull/62157
Reminder: Reflect the new lib changes in THRDPARTY.md