-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Godot Engine 4.0 module fails to compile #20
Comments
@fire I'll take a look. Out of curiosity, are you able to use it as a Godot 3 module? What about as an addon with Godot 3 or 4? |
I haven’t seriously worked in godot 3 for 3 years :/ |
I was taking a bit of a look at the issues with module builds. The define should probably be swapped to being defined in the case of extension builds. As with modules the define wont be present when register_types.h is used by the code gen. Also these methods should be removed completely: Lines 8 to 13 in 179aa92
Last thing there are a lot of #ifdef GDNATIVE's in the code. Just seems a bit odd. Is it being used as a define for GDEXtension here? After that is fixed there seems to be a lot of issues with the stream-peer class. |
Thanks for the input, all. Should be fixed.
Done. Used
Done.
Kinda. The define check (
Done. Few more odd defines to resolve the difference between StreamPeer and StreamPeerExtension. |
I can check in in 12 hours, but if someone can confirm it works you can close the issue. |
It now compiles, however it fails at the linking stage.
I think this is caused by: Line 17 in 121540b
as it should be looking for |
@Trey2k pushed a fix. Try changing line 6 in SCsub to |
Yup! It builds with that change. |
Glad to hear! Gonna close this but feel free to reopen if this continues to be an issue. |
@fire Total tangent but is it expected that GDExtension takes a lot longer to compile than GDNative? Looking at the builds for this project, GDExtension seems to be an order of magnitude slower. Am I misusing something or perhaps not caching something properly? |
I personally use modules because I prefer to ship a binary and a pck. So I'm biased towards modules. As far as I know GDExtension allows creating extensions of classes while gdnative is like a script on an existing class. Not sure that helps. |
@fire Do you also mind editing this comment to reflect fixed module support? |
I will pending compiling the module. |
@ashtonmeuser I was able to get the build to run locally, but had some problems fetching the wasmer libs. There's no way to fetch the was and bundling all cicd platforms libs is a bit ugly https://github.com/V-Sekai/godot/tree/wasm |
Can you confirm?
The text was updated successfully, but these errors were encountered: