addPal определяется дважды, один раз в GUI.cpp и один раз в main.cpp.То, что вы хотите, это определить его один раз и объявить его везде, где вам нужно его использовать.Я предлагаю поместить
int (*addPAL)( int, void(*)(), void(*)() );
в один из файлов .cpp (я не видел достаточно кода, чтобы решить, к какому из них он принадлежит), затем объявление:файл заголовка.Extern сообщает компилятору, что указатель addPAL существует, но определен в другом месте