Building with build_profile containing only Object
, Resource
and Image
fails to link
#1674
Labels
Milestone
Object
, Resource
and Image
fails to link
#1674
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: