vlc移植arm

linqiongjun86 2015-03-17 11:52:09
我想把VLC移植到arm linux开发板上去,但是一直都没有编译成功,网上对vlc移植的资料也比较少,参考了别人配置,自己试了却总是有问题,问题一直没得到解决。请大家帮忙提点意见


vlc版本:vlc-2.0.8 交叉编译器版本:arm_linux_4.2

configure配置如下
./configure --prefix=/usr/local/arm_linux_4.2/arm-linux --enable-run-as-root --enable-debug --disable-avcodec --disable-hal --disable-avformat --disable-swscale --disable-postproc --disable-a52 --disable-x11 --disable-sdl --disable-fribidi --disable-libgcrypt --disable-gnutls --disable-remoteosd --disable-skins2 --disable-qt4 --disable-notify --disable-libxml2 --disable-freetype --disable-bonjour --disable-lua --disable-mad --disable-dbus --disable-glx --disable-jack --host=arm-linux --disable-mtp --disable-dvdnav --disable-dvdread --disable-linsys --disable-alsa --disable-xcb --disable-dvbpsi --disable-egl --disable-directfb --disable-directx --disable-direct2d

make
编译后老是报错,网上查了说是没有添加头文件include <pthread.h>,但是添加后任然报错。换其他版本编译都是这个问题,纠结不知道是什么原因??????

../include/vlc_threads.h: In function 'vlc_spin_init':
../include/vlc_threads.h:419: error: implicit declaration of function 'pthread_spin_init'
../include/vlc_threads.h: In function 'vlc_spin_lock':
../include/vlc_threads.h:428: error: implicit declaration of function 'pthread_spin_lock'
../include/vlc_threads.h: In function 'vlc_spin_unlock':
../include/vlc_threads.h:436: error: implicit declaration of function 'pthread_spin_unlock'
../include/vlc_threads.h: In function 'vlc_spin_destroy':
../include/vlc_threads.h:444: error: implicit declaration of function 'pthread_spin_destroy'
...全文
595 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyangqingyun 2015-08-11
  • 打赏
  • 举报
回复
哥们,能给我一份你的VLC的arm版本库吗?qq:1274388603
lucifer886 2015-03-30
  • 打赏
  • 举报
回复
我给你我的编译吧,不过环境不一样可能不一样奏效, 你主要还是要看下VLC的help还有他依赖库的configure的help。 我最开始弄的时候也是参考的VLC的wiki,里面感觉还是挺全的。 首先是主要的是ffmpeg,这个关系不大,还有一些其它的依赖库,你可以自己选。 ./configure --enable-shared --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --enable-nonfree --prefix=/home/li/mylinux/build/ --extra-ldflags=-L/home/li/mylinux/build/lib/ --extra-cflags=-I/home/li/mylinux/build/include/ --disable-yasm --enable-cross-compile cross-prefix=arm-linux-gnueabi- --target-os=linux --arch=arm 然后是VLC ./configure --host=arm-linux-gnueabi --prefix=/home/li/mylinux/build --enable-cedar -disable-dbus --disable-lua CFLAGS="-I/home/li/mylinux/build/include" LDFLAGS="-L/home/li/mylinux/build/lib" --disable-mad AVCODEC_CFLAGS="-I/home/li/mylinux/build/include" AVCODEC_LIBS="-L/home/li/mylinux/build/lib" AVFORMAT_CFLAGS="-I/home/li/mylinux/build/include" AVFORMAT_LIBS="-L/home/li/mylinux/build/lib" SWSCALE_CFLAGS="-I/home/li/mylinux/build/include" SWSCALE_LIBS="-L/home/li/mylinux/build/lib" --disable-postproc --disable-xcb --disable-a52 --disable-alsa --disable-libgcrypt –disable-qt4 –enable-run-as-root VLC版本2.1.5,编译环境在ubuntu10.04下和12.04还有ARM下都试过,换编译器就行了。 另外ARM下如果你的图形界面用的是X11是可以用Qt4的,但是如果只是framebuffer是没有界面的(你可以看下代码),除非你自己写个。
linqiongjun86 2015-03-23
  • 打赏
  • 举报
回复
引用 13 楼 zhxianbin 的回复:
引用 12 楼 linqiongjun86 的回复:
[quote=引用 11 楼 zhxianbin 的回复:] 确定了吗???
貌似没用,不知道是不是交叉编译器的问题
没用是什么意思,这个也几天确定不了?! 当然不大可能是编译器的问题[/quote]惭愧啊!弄了几天没搞出来就没搞了,改用ffmpeg+SDL试着弄。没把结果告诉您,真不好意思
zhxianbin 2015-03-23
  • 打赏
  • 举报
回复
引用 12 楼 linqiongjun86 的回复:
引用 11 楼 zhxianbin 的回复:
确定了吗???
貌似没用,不知道是不是交叉编译器的问题
没用是什么意思,这个也几天确定不了?! 当然不大可能是编译器的问题
linqiongjun86 2015-03-23
  • 打赏
  • 举报
回复
引用 11 楼 zhxianbin 的回复:
确定了吗???
貌似没用,不知道是不是交叉编译器的问题
linqiongjun86 2015-03-20
  • 打赏
  • 举报
回复
问题还没有解决,顶一顶
zhxianbin 2015-03-20
  • 打赏
  • 举报
回复
确定了吗???
zhxianbin 2015-03-17
  • 打赏
  • 举报
回复
确定走else 了吗?
linqiongjun86 2015-03-17
  • 打赏
  • 举报
回复
对的我在../include/vlc_threads.h文件中加了include <pthread.h>,但是还是一样会报错。 在../include/vlc_threads.h中好像也有定义了 #else /* pthreads (like Linux & BSD) */ # define LIBVLC_USE_PTHREAD 1 # define LIBVLC_USE_PTHREAD_CANCEL 1 # define _APPLE_C_SOURCE 1 /* Proper pthread semantics on OSX */ # include <unistd.h> /* _POSIX_SPIN_LOCKS */ # include <pthread.h> 应该选择linux编译就会添加include <pthread.h>,您是如何编译的呢
zhxianbin 2015-03-17
  • 打赏
  • 举报
回复
看起来加上 #include <pthread.h> 应该是可以的,这是第一个 error 吗,是加在 ../include/vlc_threads.h 文件中的吗?
zhxianbin 2015-03-17
  • 打赏
  • 举报
回复
引用 7 楼 linqiongjun86 的回复:
[quote=引用 5 楼 zhxianbin 的回复:] 要确定!!!
不确定,不是很清楚编译原理是怎么样的,但是我想选择 --host=arm-linux应该会用linux去编译才对。不知道如何验证下[/quote] 在 #else 后面加一个 #error “else” 看看能不能输出,可以的话再删了,不行说明没走else 分支
linqiongjun86 2015-03-17
  • 打赏
  • 举报
回复
引用 5 楼 zhxianbin 的回复:
要确定!!!
不确定,不是很清楚编译原理是怎么样的,但是我想选择 --host=arm-linux应该会用linux去编译才对。不知道如何验证下
zhxianbin 2015-03-17
  • 打赏
  • 举报
回复
要确定!!!
linqiongjun86 2015-03-17
  • 打赏
  • 举报
回复
按理说应该是走的else但是就是编译不过去,纠结啊

18,772

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧