平台 是Linux ubuntu 3.5.0-54-generic #81~precise1-Ubuntu SMP Tue Jul 15 04:02:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
本来想移植mjpg-stream到开发板上的,但按http://www.embedu.org/column/Column331.htm上的移植OK后下载到板上总是-sh: ./mjpg_streamer: not found 错误,郁闷,就想先在PC机上make 试下,结果一堆错误。
进入下载解压出来的目录,make后出现如下错误:
mjpg_streamer.c:27:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
make: *** [mjpg_streamer.o] Error 1
没头文件,找到头文件重新拖过来后又是一堆什么符号之类的错误
GOOGLE后发下下面的解决办法:
1。sudo apt-get install libjpeg62-dev
2。ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
这回确实有点效果,但还是出一堆问题如下:
mjpg_streamer.o: In function `signal_handler':
mjpg_streamer.c:(.text+0x107): undefined reference to `dlclose'
mjpg_streamer.c:(.text+0x12c): undefined reference to `dlclose'
mjpg_streamer.o: In function `main':
mjpg_streamer.c:(.text.startup+0x27c): undefined reference to `dlopen'
mjpg_streamer.c:(.text.startup+0x29c): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x2bd): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x2de): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x2ff): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x378): undefined reference to `dlopen'
mjpg_streamer.c:(.text.startup+0x395): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x3b0): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x3cb): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x3e6): undefined reference to `dlsym'
mjpg_streamer.c:(.text.startup+0x532): undefined reference to `dlerror'
mjpg_streamer.c:(.text.startup+0x6f1): undefined reference to `dlerror'
mjpg_streamer.c:(.text.startup+0x839): undefined reference to `dlerror'
collect2: ld returned 1 exit status
make: *** [mjpg_streamer] Error 1看到这都要崩溃了好不!!!
继续搜吧。。
终于打到了个大神级别的回答了。。
http://ubuntuforums.org/archive/index.php/t-1888233.html
I think that MANY people are pulling down 4 year old source code because the main Sourceforge page for mjpg-streamer isn't updated with the latest source files (unless I am mistaken somehow).
You can find a V4L2 updated source from here:
http://mjpg-streamer.svn.sourceforge.net/viewvc/mjpg-streamer/mjpg-streamer/
Just click on "Download GNU Tarball", near the bottom of the page. This version has some files last updated in April of 2012. ! The Makefile seems fixed and the references to the header file too... although I haven't tried building it... yet.我进入这个网址下载点击Download snapshot 下载了个新版的名为:mjpg-streamer-code-182.zip
解压后进入/mjpg-streamer-code-182/mjpg-streamer直接make 就OK了,
。。。。。终于找了个MJPG摄像头执行./start.sh 进入浏览器输入 http://192.168.1.214:8080/?action=stream 终于看到图了 注:IP地址填自己PC的。
总结一句话就是:原来的源代码跟不上时代了,,换新的下载吧。。。。
mjpg-streamer-code-182.zip我上传的网盘了,找不到的直接进入下吧。点击打开链接