Имплицировать объявление функции - vlc android

Я хочу скомпилировать Android-версию VLC Player, но в процессе у меня есть две ошибки, как показано ниже:

../../src/misc/block.c:315:5: error: implicit declaration of function 'shmdt' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

../../src/posix/filesystem.c:258:16: error: implicit declaration of function 'sigtimedwait' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

Я искал много постов здесь или на других форумах для неявной проблемы, и они говорят, что это потому, что не импортирует файл lib / header.

шммд хочу shm.h и это в block.c файл правильно. и sigtimedwait имеют свой собственный заголовок.

У меня есть эта проблема около двух дней и изменить много строк кода.
Как я могу это исправить? любая идея?

1 ответ

Решение

Компилятор хочет узнать функцию, прежде чем он сможет ее использовать, просто объявите функцию перед ее вызовом. Вы можете добавить определение метода sigtimedwait в файл filesystem.c.

Это значит добавить следующее:

int sigtimedwait (const sigset_t * set, siginfo_t * info, const struct timespec * timeout);

Смотрите https://linux.die.net/man/2/sigtimedwait

Другие вопросы по тегам