You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First I was surprised at the sheer amount of classes it still tried to build, only to realize Resource has a method returning a Node*, so I guess it tried to include Node too, which then refers to Window, which refers to Theme, which refers to a bunch of other things.
Somehow it got to compile code that calls VisualInstance3D::_get_aabb, but my extension doesn't even use nodes.
To workaround it, I have to add VisualInstance3D to the profile (which in total builds 63 classes, so still a good win compared to 744, but far from the 3 I actually use).
For sure maybe a fix should be done to detect that VisualInstance3D is also needed somehow.
But I think that class list is doing too much. Too many classes are picked. Yes, Resource has a method that returns Node. But I don't need to compile Node, because I don't use it, and Node is forward-declared anyways. So GodotCpp should not try to include it to classes it has to compile.
The only classes GodotCpp should implicitely generate, are classes that need to be defined. So pretty much base classes, AFAIK. The rest should not need to be defined (such as methods taking objects or returning objects, because those are forward-declared).
Steps to reproduce
Compile GodotCpp on Windows with the listed build profile.
Minimal reproduction project
N.A
The text was updated successfully, but these errors were encountered:
Godot version
4.4
godot-cpp version
27ffd8c
System information
Windows, 64-bit, MSVC
Issue description
I started using a build_profile restricting classes to the following:
First I was surprised at the sheer amount of classes it still tried to build, only to realize
Resource
has a method returning aNode*
, so I guess it tried to include Node too, which then refers toWindow
, which refers toTheme
, which refers to a bunch of other things.But then, it fails to link:
https://github.com/Zylann/godot_fast_noise_2/actions/runs/12416475481/job/34665187777
Somehow it got to compile code that calls
VisualInstance3D::_get_aabb
, but my extension doesn't even use nodes.To workaround it, I have to add
VisualInstance3D
to the profile (which in total builds 63 classes, so still a good win compared to 744, but far from the 3 I actually use).For sure maybe a fix should be done to detect that
VisualInstance3D
is also needed somehow.But I think that class list is doing too much. Too many classes are picked. Yes, Resource has a method that returns
Node
. But I don't need to compile Node, because I don't use it, and Node is forward-declared anyways. So GodotCpp should not try to include it to classes it has to compile.The only classes GodotCpp should implicitely generate, are classes that need to be defined. So pretty much base classes, AFAIK. The rest should not need to be defined (such as methods taking objects or returning objects, because those are forward-declared).
Steps to reproduce
Compile GodotCpp on Windows with the listed build profile.
Minimal reproduction project
N.A
The text was updated successfully, but these errors were encountered: