Code: Select all
i686-w64-mingw32-ld: cannot find -lglu32
i686-w64-mingw32-ld: cannot find -lopengl32
i686-w64-mingw32-ld: cannot find -lgdi32
i686-w64-mingw32-ld: cannot find -luser32
i686-w64-mingw32-ld: cannot find -lkernel32
Makefile:101: recipe for target '/lib/glew32.dll' failed
...
Thank you very much for the suggestion. I am aware of Docker images as an option, but haven't gone down that road yet.Hi, to compile on windows, the easiest solution would be to use the docker image. See this guide for more information: https://gitlab.com/garfvl/local-vlc-compile-env
The Win32Compile guide applies to both Windows 32-bit and 64-bit.Not a lot of people are compiling for windows 32bit so it might be difficult to find an answer :/
Code: Select all
cd glew && CC="x86_64-w64-mingw32-gcc" CXX="x86_64-w64-mingw32-g++" LD="x86_64-w64-mingw32-ld" AR="x86_64-w64-mingw32-ar" CCAS="x86_64-w64-mingw32-gcc -c" RANLIB="x86_64-w64-mingw32-ranlib" STRIP="x86_64-w64-mingw32-strip" PATH="/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/bin:/home/vlctester/Desktop/vlc-3.0.6/extras/tools/build/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" CPPFLAGS=" -I/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/include" CFLAGS=" -I/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/include -g -O2" CXXFLAGS=" -I/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/include -g -O2" LDFLAGS=" -L/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/lib " CFLAGS=" -I/home/vlctester/Desktop/vlc-3.0.6/contrib/x86_64-w64-mingw32/include -g -O2 -DGLEW_STATIC" make
make[1]: Entering directory '/home/vlctester/Desktop/vlc-3.0.6/contrib/win32/glew'
x86_64-w64-mingw32-ld -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
x86_64-w64-mingw32-ld: cannot find -lglu32
x86_64-w64-mingw32-ld: cannot find -lopengl32
x86_64-w64-mingw32-ld: cannot find -lgdi32
x86_64-w64-mingw32-ld: cannot find -luser32
x86_64-w64-mingw32-ld: cannot find -lkernel32
Makefile:101: recipe for target 'lib/glew32.dll' failed
make[1]: *** [lib/glew32.dll] Error 1
make[1]: Leaving directory '/home/vlctester/Desktop/vlc-3.0.6/contrib/win32/glew'
../../contrib/src/glew/rules.mak:22: recipe for target '.glew' failed
make: *** [.glew] Error 2
Code: Select all
vlctester@ubuntu:~/Desktop/vlc-3.0.6/contrib/win32$ make
make: Nothing to be done for 'all'.
vlctester@ubuntu:~/Desktop/vlc-3.0.6/contrib/win32$ make package-win-common
make: *** No rule to make target 'package-win-common'. Stop.
Docker is fine and dandy if your only goal is to build the latest VLC. I needed to build 3.0.x and also 2.2.0-rc1. The Docker images, which appear to start in December 2017, don't work with code from November 2014 (2.2.0-rc1). Obviously similar issues apply to a multitude of other old VLC versions that users/devs may need to build for various reasons.Seriously, use the docker image from the CI
We jumped to docker-based build with versionned Dockerfile and versionned contrib to be able to compile older version, but it's post 2.x.x version. Bisecting on very old VLC version is hard, and doing so on windows is probably like shooting you in the foot. Maybe there is a simpler way to find and fix your issue ?Using a build environment better suited for the older code would have been far more reasonable, and it would have been more possible if build dependency version info was readily available. As long as some of the build dependencies for VLC don't maintain backwards compatibility, guides like the one on the Win32Compile will almost never be usable without build dependency version information. Surely it isn't a priority, but if such version information can eventually be provided that would be quite helpful.
That would have been nice, but I don't think so. VLC depends on ffmpeg's FLV demuxer, and that demuxer's seek function is trash (reads every tag/packet from the start of the file until the desired timestamp is found). Also that demuxer returns the duration of an FLV video as whatever the last timestamp happens to be. This makes a mess when the FLV file contains HDS stream data (timestamp wraps around after about a month, so the duration is usually absurd).We jumped to docker-based build with versionned Dockerfile and versionned contrib to be able to compile older version, but it's post 2.x.x version. Bisecting on very old VLC version is hard, and doing so on windows is probably like shooting you in the foot. Maybe there is a simpler way to find and fix your issue ?
It should go without saying that the 2.2.0-rc1 builds that I've made are for my own personal use, primarily on older (resource-limited) hardware, and only for playing local/offline copies of FLV/HDS data.Unfortunately, 2.2.x is beyond hope for security reasons.
Return to “Development around libVLC”
Users browsing this forum: No registered users and 19 guests