Undefined symbol: ClassDB::bind_methodfi

Tested versions

  • Reproducible in: 4.5.1+

System information

macOS 15.6.1

Issue description

Hi guys.

Im making a new plugin for Firebase to iOS and Android.

Repository: GitHub - godot-x/firebase.

Everything is working, editor options to firebase config file is OK etc.

But when i export the project i get this error:

Undefined symbol: ClassDB::bind_methodfi(unsigned int, MethodBind*, bool, char const*, Variant const**, int)

Image

But you can see on screenshot that the godot.xcframework is there, normally how any Godot project exported.

And yes, im using Godot 4.5.1 and headers from 4.5.1:
repo: firebase/blob/main/Makefile#L4

The method is called here:

ClassDB::bind_method(D_METHOD("initialize"), &GodotxFirebase::initialize);
ClassDB::bind_method(D_METHOD("log_event", "event_name", "params"), &GodotxFirebase::log_event);
ClassDB::bind_method(D_METHOD("is_ready"), &GodotxFirebase::is_ready);

repo: ios/firebase_bridge/Sources/godotx_firebase.mm#L17-L19

It only works if i drag/drop a recompiled godot.xcframework with make build-godot, but not the original template libraries from the engine.

I search here for this problem, but i already set the flags to xcode project:
repo: ios/firebase_bridge/project.yml#L42-L63

Im using 4.5.1 and generating the plugin also with 4.5.1.

I dont know more what to do.

Can someone help me to understand this problem?

Thanks.

Steps to reproduce

brew install xcodegen

git clone [REPO URL]
cd firebase

make build-ios
make build-xcframework

Minimal reproduction project (MRP)

repo: main/project.godot

have u got any solutions?

Hi. I solved it. You can see my project on Github to check the current code.

Hi. I think the solution is download Godot source, instead of Godot Cpp source. They are different. Godot Cpp is a bind for C++ that has different methods.