0

我想编译vlc播放器的android版本,但在进行中我有两个错误如下:

../../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 / 头文件。

shmdt想要shm.h并且它在block.c文件中正确。并且sigtimedwait有自己的标题。

我大约两天有这个问题并更改了许多代码行。
我怎样才能解决这个问题 ?任何想法 ?

4

1 回答 1

1

编译器想知道函数,然后才能使用它,只需在调用函数之前声明函数您可以在文件 filesystem.c 中添加方法 sigtimedwait 的定义。

这意味着添加以下内容:

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

https://linux.die.net/man/2/sigtimedwait

于 2017-07-07T02:52:08.577 回答