Skip to content

Port from GDNative to GDExtension for Godot 4.x#114

Merged
twaritwaikar merged 15 commits into
godotengine:masterfrom
twaritwaikar:gdextension-port
Aug 31, 2022
Merged

Port from GDNative to GDExtension for Godot 4.x#114
twaritwaikar merged 15 commits into
godotengine:masterfrom
twaritwaikar:gdextension-port

Conversation

@twaritwaikar
Copy link
Copy Markdown
Contributor

@twaritwaikar twaritwaikar commented Jun 17, 2022

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 godotengine/godot#62157

@twaritwaikar
Copy link
Copy Markdown
Contributor Author

twaritwaikar commented Jun 17, 2022

Right now this throws compilation errors using the extensions API generated from godotengine/godot#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.

@twaritwaikar
Copy link
Copy Markdown
Contributor Author

Note: We also need to update api.json to have the 4.0 extension API JSON containing the API changes from godotengine/godot#62157

@twaritwaikar twaritwaikar force-pushed the gdextension-port branch 2 times, most recently from 3a9476c to 90db258 Compare July 31, 2022 16:33
@twaritwaikar twaritwaikar marked this pull request as ready for review July 31, 2022 16:48
@twaritwaikar
Copy link
Copy Markdown
Contributor Author

Reminder: Reflect the new lib changes in THRDPARTY.md

@twaritwaikar twaritwaikar merged commit 084c7fc into godotengine:master Aug 31, 2022
@twaritwaikar twaritwaikar deleted the gdextension-port branch August 31, 2022 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant