Hello, I’m trying to add some animation capabilities to GIMP, and I started it by adding a new dock (commit for reference: app/dialogs: add animation dock and window · nazsombor/gimp-animation@f8613f8 · GitHub) I followed the way as other docks are added:
- added a DOCK and DOCK_WINDOW to entries[] in app/dialogs/dialogs.c
- added the corresponding functions in app/dialogs/dialogs-constructors.c
- created gimpanimation.c to implement gimp_animation_new() GtkWidget* (for now I only copied gimptoolbox.c to have a minimally changed file, until I discover all the functionalities I may need)
- added the #include header gimpanimation.h to dialogs-constructors.c and to gimpanimation.c
I know there must be more to do to show a dock, but when I try to build this, the tests are failing due to undefined reference:
[15/17] Linking target app/tests/ui
FAILED: app/tests/ui
c++ -o app/tests/...
...
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.1.0/../../../../x86_64-unknown-linux-gnu/bin/ld: app/dialogs/libappdialogs.a.p/dialogs-constructors.c.o: in function `dialogs_animation_new':
/home/user/Projects/gimp-animation/_build/../app/dialogs/dialogs-constructors.c:342: undefined reference to `gimp_animation_new'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I looked around but I could not find anything that could cause this. I’m a beginner in C programming though.
Any help is much appreciated