我想编译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 有自己的标题。
我有两天这个问题并改变了很多行代码 我怎样才能解决这个问题 ?任何想法?
答案 0 :(得分:1)
编译器想要知道该函数才能使用它 只需在调用之前声明该函数 您可以在文件filesystem.c中添加方法sigtimedwait的定义。
这意味着添加以下内容:
int sigtimedwait(const sigset_t * set,siginfo_t * info, const struct timespec * timeout);