Page 1 of 2
vlc-2.2.1 compile with VS2013
Posted: 09 May 2015 12:01
by JoungEunKim
Hi.
This is vlc-2.2.1 compile with VS2013 update 4.
Prevoius release vlc-2.2.0-rc2 compile with VS2013 has too many problem.
I'm very sorry.
I want to fix that with new release.
I was to read new version for msys2 from JB.
It was to give me idea.
I have a time to make and test new version.
This version change very small part.
I will give two version.
First.
It has assembly part with cygwin version.
vlc-2.2.1 compile with cygwin (assembler part and some library)
https://github.com/sunqueen/vlc-2.2.1.32-cover.git
vlc-2.2.1 compile with VS2013 update 4
https://github.com/sunqueen/vlc-2.2.1.32-2013.git
Second.
It don't use assembly.
vlc-2.2.1 compile with VS2013 update 4 (not support assembly)
https://github.com/sunqueen/vlc-2.2.1.32-2013.noasm.git
I hope, it helps study and debug.
Have a nice day...
This is list of used
vlc-contrib-i686-w64-mingw32-20150408.tar.bz2
qt4 : 4.8.5
game-music-emu-0.6.0.tar.bz2
harfbuzz-0.9.19.tar.bz2
libmodplug-0.8.8.5.tar.gz
live.2011.12.23.tar.gz
sidplay-libs-2.1.1.tar.gz
Re: vlc-2.2.1 compile with VS2013
Posted: 09 May 2015 19:25
by Jean-Baptiste Kempf
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 05:57
by JoungEunKim
Hi Jean-Baptiste.
I try to work that url.
I try to compile "Windows" and "Debug"
I'm not success that. 6^^;;
I have some request and ask.
First.
Can you make, "C:\Program Files (x86)" is flexible ?
I have 32bits system, my url is "C:\Program Files".
Second.
Some file need to convert format for Visual Studio.
Third.
Windows Phone 8.0 SDK is not support my system.
Can I use Windows Phone 7.1 SDK or lower version ?
I'm not sure yet(I don't complete to compile).
If you have solution, please help me. ^^
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 09:50
by Jean-Baptiste Kempf
You need VS2013, and SDK 8.0, yes.
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 13:03
by JoungEunKim
I finished compile, like "./build.sh Windows Debug"
I was change two files.
One is "src\text\strings.c", other is "modules\video_filter\deinterlace\yadif.h"
strings.c is to convert unicode 1200.
yadif.h is to add
#elif defined(_MSC_VER)
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
Is it right ? or is it unnecessary ?
I have more question.
I don't find vlc.exe.
At latest echo "Cross-compilation: cache generation skipped!".
Is it right ?
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 13:26
by chouquette
Hi,
So far yadif is not supported (mostly because it's using assembly that can't be built within MSVC). Basically I just disabled yadif for now.
I don't remember anything required for strings.c, though it might be that I didn't pull VLC's tree in a while.
I think I have a few local modifications to push to disable it, I'll try to do it later today.
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 16:11
by JoungEunKim
Hi.
Thanks.
I'll wait for that. ^^
I have question to windows phone.
I have VS2013 update 4.
And I have "C:\Program Files\Windows Phone Kits\8.1".
I think, it is installed with VS2013.
I finished compile "./build.sh WindowsPhone Debug" without Windows Phone SDK 8.0...
Now, Do I need Windows Phone SDK 8.0 ?
My system is 32 bit.
I don't find Windows Phone SDK 8.0 for 32 bit. 6^^;;
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2015 19:03
by chouquette
I just pushed an updated patchset.
Regarding the SDK, you need the WP8.1 one, not 8.0
Re: vlc-2.2.1 compile with VS2013
Posted: 12 May 2015 09:07
by JoungEunKim
I have still problem with "src\text\strings.c"
Please check your file's format.
I think, it is not same with me. 6^^;;;
And Can I ask to change some ?
In clwrap
ARGS="$ARGS "'-I"C:/Program Files (x86)/Windows Kits/8.1/Include/um/"'" "'-I"C:/Program Files (x86)/Windows Kits/8.1/Include/shared/"'" "'-I"C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include"'
to change
ARGS="$ARGS "'-I"C:/Program Files (x86)/Windows Kits/8.1/Include/um/"'" "'-I"C:/Program Files (x86)/Windows Kits/8.1/Include/shared/"'
Last include config is not used. 6^^;;
yadif.h is fixed. Thanks.
Re: vlc-2.2.1 compile with VS2013
Posted: 14 May 2015 04:36
by fm0517
Hi JoungEunKim:
I try to build vlc-2.2.1.32 with VS2013, but there are lots of error:C2275.
I know the C2275 problem is due to that when compiler handles c file, all the variable must be announced at the beginning of the block. But there are too many announce sentences to be corrected.
Is there any solution for this condition ? Or is there any different when building vlc whit VS2013 update 4 ?
Please help me. Thank you !
Re: vlc-2.2.1 compile with VS2013
Posted: 14 May 2015 07:06
by JoungEunKim
Hi.
I have Visual Studio 2013 update 4. (In About, Version 12.0.31101.00 Update 4)
MS.Net : 4.5.51209
I was test that, to complete compile. 6^^;;;
Re: vlc-2.2.1 compile with VS2013
Posted: 14 May 2015 14:08
by fm0517
I find the error C2275 does not exist any longer after my VS2013 get patched to update4. Thank you very much!
Re: vlc-2.2.1 compile with VS2013
Posted: 08 Jun 2015 04:27
by albert_wang
Hi ,
I can compile and run vlc successfully. But it will enter command line mode when I put the output to other PC. Did any one meet this problem too ? I still try to solve it. If any input, that is appreciated.
Re: vlc-2.2.1 compile with VS2013
Posted: 11 Mar 2017 23:04
by TarmoPikaro
Hi !
Sorry for trying to revive this quite old thread, but I want vlc to get windows / android cross compilable, using Visual studio projects / solutions as a base (without autoconf).
For that purpose I have created syncProj -
https://docs.google.com/document/d/1C1Y ... j5zHU/edit
And now reverted your project / solution into C# (syncProj) script and started to backport vlc project to Android.
I've noticed that in your port there exist folder win32\lib which includes a lot of 3-rd party libraries are pre-built. Can you share me instructions how you produced those ?
I probably want to create one central repository where I collect 3-rd party libraries (contrib + patches opened up).
Re: vlc-2.2.1 compile with VS2013
Posted: 11 Mar 2017 23:12
by TarmoPikaro
https://social.msdn.microsoft.com/Forum ... diogeneral
Also why MODULE_STRING="core" kind of define is needed - isn't __FILE__ better define anyway ?
Re: vlc-2.2.1 compile with VS2013
Posted: 13 Mar 2017 09:24
by chouquette
The dependencies we provide as binary are the built contribs. They are built as described here:
https://wiki.videolan.org/Win32Compile/ ... .28slow.29 but there is no plan to support this with Visual Studio
I'm not sure what you're asking about MODULE_STRING, but you shouldn't have to fiddle with this, it's part of vlc's internal
Re: vlc-2.2.1 compile with VS2013
Posted: 01 Apr 2017 22:39
by TarmoPikaro
There is no plan indeed, but I want to open up all contrib libraries in vlc, to be compilable with vlc. I have already started this work - and compiled couple of static libraries for windows and for android.
I've raised a separate conversation about this in here:
https://forum.videolan.org/viewtopic.php?f=32&t=137893
Maybe you can comment this as well - there exists for example this git repo:
https://github.com/sunqueen/vlc-2.2.1.32-2013
But it's outdated. I would prefer to have original package committed first, after that some of sunqueen patches, and then my own patches as well.
I want also to open up all contrib libraries - again - first original libraries, after that all patches on top of that one.
At the end I want to have .sln & .vcxproj for windows & android platforms.
If there is not interested people, I'll create svn repository - if there will be I can consider git or other version control system as well.
I'm not sure what you're asking about MODULE_STRING, but you shouldn't have to fiddle with this, it's part of vlc's internal
https://docs.google.com/document/d/1C1Y ... sxb42gc5w7
This is the reason.
Re: vlc-2.2.1 compile with VS2013
Posted: 17 Apr 2017 12:07
by TarmoPikaro
One question in between.
You have added one more file - misc\cpu.c refers to cover_cpuid & cover_vlc_CPU_init1 - I can see static library with those function but without any source code or reference from which library following functions were taken from and why they are needed anyway ?
Can you give bit more information on them ?
Re: vlc-2.2.1 compile with VS2013
Posted: 22 Apr 2017 09:22
by TarmoPikaro
Updated extlibs\libiconv, extlibs\libintl, libvlccore.cs three projects into here:
https://sourceforge.net/p/vlc2/code/HEAD/tree/
At the moment I've took original vlc release and sorting and moving sunqueen patches from one place to another. (opening, removing, moving around)
At the moment Win32 (Windows) & ARM (Android) compilation targets are supported.
syncProj
https://sourceforge.net/projects/syncproj/
https://docs.google.com/document/d/1C1Y ... j5zHU/edit#
code coverage is at 70%, I will improve testing later on, when encounter new bugs & fix them.
Tried to pick up mingw as source code without success, decided to leave as static library for timebeing, but because of this cannot be reported to vs2015 or x64 platform.
Maybe something to fix later on, there is only needed _wopendir, and it can be easily rewritten according to mingw source code.
Haven't yet reached run-time, I suspect more problems will come there, because my current port is basically a hack - but I need to start from somewhere.
Re: vlc-2.2.1 compile with VS2013
Posted: 30 Apr 2017 10:51
by TarmoPikaro
I'm continuing patching my own vlc compilation (
https://sourceforge.net/p/vlc2/code/HEAD/tree/ ) targetted for windows & android, using Visual studio as compilation environment.
I have now successfully compiled / linked base libraries and continuing now into depth of plugin. I haven't yet reached run-time, so I suspect there might be more problems, specially I did not get any answer on my previous question - misc\cpu.c / cover_cpuid & cover_vlc_CPU_init1.
I now reached codecs part, and was wondering from where you have taken libavcodec - there is some odd version mentioned in "vlc-2.2.1.32-2013-master\win32\include\libavcodec\version.h" - 56.11.0, while ffmpeg releases with avcodec looks
slightly different - comments in header mention "This file is part of ffmpeg", while current public header mentions "This file is part of Libav.". I've now took two sequential releases from here:
https://libav.org/download/ - 11 and 12, and both of them does not have same revision number.
I prefer to integrate completely identical version to what is working, not to fight with newer libs , as they might bring more problems - but I need to choose currently some version.
syncProj code coverage 73.31%. (Covering with testing)
https://sourceforge.net/p/vlc2/code/HEA ... modules.cs
This script is now somehow assembling multiple plugins ( ~ 30 dll's) , I plan to expand it to other plugins as well.
Re: vlc-2.2.1 compile with VS2013
Posted: 11 May 2017 22:41
by TarmoPikaro
Apperenly codec/avcodec was not that trivial - it was dragging dependencies from ffmpeg.
ffmpeg has it's own compilation instructions, and I've understood that without automation I will not be able to assemble ffmpeg solution / project - so I have added experimental support for being able to reconstruct
solution / projects from make command line:
https://docs.google.com/document/d/1C1Y ... l8pfvnfgmd
And now I can compile ffmpeg out of box from Visual Studio 2013:
https://sourceforge.net/p/vlc2/code/HEA ... bs/ffmpeg/
I have some experience with ffmpeg video encoding / decoding and I have tried to convert something, but without luck:
ffmpeg_g.exe -i "Diane Arkenstone-Rhythm of the Forest.mp4" -codec:a libmp3lame -qscale:a 2 out.mp3
...
Comes an error: "Unknown encoder 'libmp3lame'"
So I suspect that I need to cherry pick bit more libraries to have all codecs inside.
If anyone is interested - one of ffmpeg project looks like this:
https://sourceforge.net/p/vlc2/code/HEA ... bavutil.cs
I'll now continue further with avcodec integration with ffmpeg...
Re: vlc-2.2.1 compile with VS2013
Posted: 01 Jun 2017 22:49
by TarmoPikaro
Reconstructed basic set of plugins for vlc (player is launched from command line), integrated inside quire many third party libraries.
https://sourceforge.net/p/vlc2/code/HEAD/tree/extlibs/
Now with Win32 / Debug I can start video & audio playback. Android ARM configuration is not fully working - this is something I will work on next.
Android compilation support:
========== Build: 51 succeeded, 22 failed, 1 up-to-date, 80 skipped ==========
Windows compilation support:
========== Build: 0 succeeded, 0 failed, 81 up-to-date, 73 skipped ==========
There are couple of compilation issues with Visual studio compiler - I've described them in here:
https://docs.google.com/document/d/1C1Y ... b0h4ma5rer
with link to Microsoft forums.
Quite nice to have vlc somehow working now. (Quite many projects to walk through)
Re: vlc-2.2.1 compile with VS2013
Posted: 11 Jun 2017 16:19
by Jean-Baptiste Kempf
But why?
Re: vlc-2.2.1 compile with VS2013
Posted: 14 Jun 2017 14:38
by TarmoPikaro
I guess my original intention is to get everything to be possible to debug in Visual studio, and having projects and solutions for Windows and for Android.
I have some bad experience with configure kind of tools as well as with bad 3-rd party debuggers (gdb, ddd), so would like to get rid of configure for as long as possible, and try out also Visual studio debugger with Android.
I'm still not sure how mature that one is, I was able to set up some basic application debugger, but I'm not sure about ffmpeg, and large scale projects - how well they will fit under Visual studio.
But I'm not making any money from this, so have time to experiment.
Re: vlc-2.2.1 compile with VS2013
Posted: 16 Jun 2017 16:14
by Jean-Baptiste Kempf
Then use clang/c2