Because I have a file containing many Cairo library functions
Do you mean the source of Cairo or do you mean your own code which just happens to use Cairo functions?
I want to complete these functions in a new file
Function _defined_ in an open file in the same (or similar, eg C/C++) language will be available for autocomplete in other files of the same language. But just using a function in your file is not a definition and is not recognised for autocomplete or the symbol pane. Also files included in your files are not parsed, so `#include <cairo.h>` will not make cairo functions available for autocomplete.
I've tried geany -g -P
You probably don't want the -P, you want the preprocessor to pull in the headers included from `cairo.h`