VLC编译(Ubuntu下,编译win32平台的vlc),报错

时间:2022-01-31 15:54:53
https://wiki.videolan.org/Win32Compile/
按照vlc官方文档进行编译,
Building VLC

Once configured, to build VLC, just run:
 $ make

当执行到这时,输入make,弹出以下错误

Creating library file: .libs/libflac_plugin.dll.a
/home/workspace/vlc/vlc-2.1.4/contrib/i586-mingw32msvc/lib/libFLAC.a(bitwriter.o): In function `FLAC__bitwriter_get_buffer':
/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:286: undefined reference to `_ntohl@4'
/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:286: undefined reference to `_ntohl@4'
/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:286: undefined reference to `_ntohl@4'
/home/workspace/vlc/vlc-2.1.4/contrib/i586-mingw32msvc/lib/libFLAC.a(bitwriter.o): In function `FLAC__bitwriter_write_rice_signed_block':
/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:611: undefined reference to `_ntohl@4'
/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:645: undefined reference to `_ntohl@4'
/home/workspace/vlc/vlc-2.1.4/contrib/i586-mingw32msvc/lib/libFLAC.a(bitwriter.o):/home/jb/vlc-2.0/contrib/win32/flac/src/libFLAC/bitwriter.c:321: more undefined references to `_ntohl@4' follow
collect2: ld returned 1 exit status
make[4]: *** [libflac_plugin.la] Error 1
make[4]: Leaving directory `/home/workspace/vlc/vlc-2.1.4/win32/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/workspace/vlc/vlc-2.1.4/win32/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/workspace/vlc/vlc-2.1.4/win32/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/workspace/vlc/vlc-2.1.4/win32'
make: *** [all] Error 2
root@lw:/home/workspace/vlc/vlc-2.1.4/win32# 

纠结这是啥问题啊,google找到一个解决办法

`ntohl@4' is also related to the ws2_32 library. I fixed this by opening C:\MinGW\msys\home\gnosygnu\vlc\contrib\mingw32\lib\libFLAC.la and adding "-lws2_32"

CODE: SELECT ALL
dependency_libs=' -L/home/gnosygnu/vlc/contrib/i586-mingw32msvc/lib -lws2_32 -lm /home/gnosygnu/vlc/contrib/i586-mingw32msvc/lib/libogg.la'

但是很明显跟我的不符合,这句话在我的配置文件里根本找不到,各位有没有碰到过,谢谢

8 个解决方案

#1


看文档的描述,首先要 configure

#2


你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错

#3


引用 2 楼 JoeBlackzqq 的回复:
你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...

#4


引用 3 楼 micropentium6 的回复:
Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

#5


引用 4 楼 JoeBlackzqq 的回复:
Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!

#6


引用 1 楼 zhxianbin 的回复:
看文档的描述,首先要 configure

confiure操作我已完成,make之前的所有操作都已完成。当执行到make时出的这错。

#7


引用 5 楼 micropentium6 的回复:
Quote: 引用 4 楼 JoeBlackzqq 的回复:

Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!


各位,编译vlc遵照官网文档来说,如果为windows平台编译vlc,官方推荐的就是在linux下交叉编译。 VLC编译(Ubuntu下,编译win32平台的vlc),报错
各位,咱们不要纠结怎么编译,解决问题是最重要的

#8


引用 5 楼 micropentium6 的回复:
Quote: 引用 4 楼 JoeBlackzqq 的回复:

Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!


可以看到官方文档, VLC编译(Ubuntu下,编译win32平台的vlc),报错
windows上编译需要使用cywin,但是官方不推荐次方法,出错几率大,而且效率低,速度慢。所以选择使用linux来编译。cywin,其实就是在windows上模拟一个linux环境而已,实际还是linux么。大家看看这个问题该怎么解决,谢啦

#1


看文档的描述,首先要 configure

#2


你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错

#3


引用 2 楼 JoeBlackzqq 的回复:
你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...

#4


引用 3 楼 micropentium6 的回复:
Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

#5


引用 4 楼 JoeBlackzqq 的回复:
Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!

#6


引用 1 楼 zhxianbin 的回复:
看文档的描述,首先要 configure

confiure操作我已完成,make之前的所有操作都已完成。当执行到make时出的这错。

#7


引用 5 楼 micropentium6 的回复:
Quote: 引用 4 楼 JoeBlackzqq 的回复:

Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!


各位,编译vlc遵照官网文档来说,如果为windows平台编译vlc,官方推荐的就是在linux下交叉编译。 VLC编译(Ubuntu下,编译win32平台的vlc),报错
各位,咱们不要纠结怎么编译,解决问题是最重要的

#8


引用 5 楼 micropentium6 的回复:
Quote: 引用 4 楼 JoeBlackzqq 的回复:

Quote: 引用 3 楼 micropentium6 的回复:

Quote: 引用 2 楼 JoeBlackzqq 的回复:

你为什么要在ubuntu下去编译windows平台的vlc,而不去找一个linux版本的vlc来编译呢,太奇怪了!?? VLC编译(Ubuntu下,编译win32平台的vlc),报错


He did this on a Windows machine. Try to compile a linux software through MinGW. It's a painful procedure, but necessary if the original source tree doesn't offer a windows makefile...


楼主标题已经说明了:Ubuntu下,编译win32平台的vlc!

u are right! thx for the correction!


可以看到官方文档, VLC编译(Ubuntu下,编译win32平台的vlc),报错
windows上编译需要使用cywin,但是官方不推荐次方法,出错几率大,而且效率低,速度慢。所以选择使用linux来编译。cywin,其实就是在windows上模拟一个linux环境而已,实际还是linux么。大家看看这个问题该怎么解决,谢啦