<div dir="ltr">Hi,<div><br></div><div>I'm trying to get the latest VLC 2.1 release building from git for Windows. I'm using a Ubuntu 13.10 x64 VM system to do the compilation. I've followed the instructions on <a href="https://wiki.videolan.org/Win32Compile">https://wiki.videolan.org/Win32Compile</a> and have managed to compile everything and create the NSIS installer package successfully. </div><div><br></div><div>There was only one change to the instructions that I had to make. Currently the "make prebuilt" command doesn't work with 2.1 branch as the ftp site currently wont allow anonymous login. Also if I download the latest contrib from <a href="https://get.videolan.org/contrib/i686-w64-mingw32/">https://get.videolan.org/contrib/i686-w64-mingw32/</a> the configure command fails as the libraries are too new, so I downloaded the contrib that was created before 2.1.5 was released and used that instead.</div><div><br></div><div>However when I install it on my system I get a message popping up during the installation process (and also when I try and start VLC afterwards) saying "VLC media player 2.1.6 has stopped working".</div><div><br></div><div>The information Windows lists on the problem is:</div><div><br></div><div><div>Problem signature:</div><div>  Problem Event Name:<span class="" style="white-space:pre">    </span>BEX</div><div>  Application Name:<span class="" style="white-space:pre">    </span>vlc-cache-gen.exe</div><div>  Application Version:<span class="" style="white-space:pre">   </span>2.1.6.0</div><div>  Application Timestamp:<span class="" style="white-space:pre">   </span>5494490a</div><div>  Fault Module Name:<span class="" style="white-space:pre">      </span>libqt4_plugin.dll</div><div>  Fault Module Version:<span class="" style="white-space:pre">  </span>0.0.0.0</div><div>  Fault Module Timestamp:<span class="" style="white-space:pre">  </span>54944909</div><div>  Exception Offset:<span class="" style="white-space:pre">       </span>00000000</div><div>  Exception Code:<span class="" style="white-space:pre"> </span>c0000005</div><div>  Exception Data:<span class="" style="white-space:pre"> </span>00000008</div><div>  OS Version:<span class="" style="white-space:pre">     </span>6.1.7601.2.1.0.768.3</div><div>  Locale ID:<span class="" style="white-space:pre">  </span>2057</div><div>  Additional Information 1:<span class="" style="white-space:pre">   </span>9ffc</div><div>  Additional Information 2:<span class="" style="white-space:pre">   </span>9ffc01cd9d2ac339ba5a046f56be5a06</div><div>  Additional Information 3:<span class="" style="white-space:pre">       </span>d727</div><div>  Additional Information 4:<span class="" style="white-space:pre">   </span>d727e6ef583e78f4baa061d53d6141f3</div></div><div><br></div><div>From what I gather BEX is a Buffer Overflow and is related to the Data Execution Prevention system in Windows. If I download the vlc-2.1.5-win32.exe off of the VideoLAN website then it installs and runs fine, so it must be something odd I'm doing when compiling it.</div><div><br></div><div>My notes for compilation are below. Any help on working out why this is happening would be greatly appreciated.</div><div><br></div><div>Mike</div><div><br></div><div><div>#install needed packages</div><div>apt-get install -y -qq \</div><div><span class="" style="white-space:pre">     </span>gcc-mingw-w64-i686 \</div><div><span class="" style="white-space:pre">       </span>g++-mingw-w64-i686 \</div><div><span class="" style="white-space:pre">       </span>mingw-w64-tools \</div><div><span class="" style="white-space:pre">  </span>build-essential \</div><div><span class="" style="white-space:pre">  </span>lua5.2 \</div><div><span class="" style="white-space:pre">   </span>libtool \</div><div><span class="" style="white-space:pre">  </span>automake \</div><div><span class="" style="white-space:pre"> </span>autoconf \</div><div><span class="" style="white-space:pre"> </span>autopoint \</div><div><span class="" style="white-space:pre">        </span>make \</div><div><span class="" style="white-space:pre">     </span>gettext \</div><div><span class="" style="white-space:pre">  </span>pkg-config \</div><div><span class="" style="white-space:pre">       </span>qt4-dev-tools \</div><div><span class="" style="white-space:pre">    </span>git \</div><div><span class="" style="white-space:pre">      </span>subversion \</div><div><span class="" style="white-space:pre">       </span>cmake \</div><div><span class="" style="white-space:pre">    </span>cvs \</div><div><span class="" style="white-space:pre">      </span>wine-dev \</div><div><span class="" style="white-space:pre"> </span>zip \</div><div><span class="" style="white-space:pre">      </span>p7zip-full \</div><div><span class="" style="white-space:pre">       </span>nsis \</div><div><span class="" style="white-space:pre">     </span>bzip2 \</div><div><span class="" style="white-space:pre">    </span>vim-gnome \</div><div><span class="" style="white-space:pre">        </span>vim-gui-common \</div><div><span class="" style="white-space:pre">   </span>vim-runtime</div><div><br></div><div>#clone vlc 2.1</div><div>git clone git://<a href="http://git.videolan.org/vlc/vlc-2.1.git">git.videolan.org/vlc/vlc-2.1.git</a> vlc</div><div><br></div><div>#download the contrib</div><div>wget <a href="https://get.videolan.org/contrib/i686-w64-mingw32/vlc-contrib-i686-w64-mingw32-20140507.tar.bz2">https://get.videolan.org/contrib/i686-w64-mingw32/vlc-contrib-i686-w64-mingw32-20140507.tar.bz2</a></div><div><br></div><div>#change into vlc dir</div><div>cd vlc</div><div><br></div><div>#create and change into contrib dir</div><div>mkdir -p contrib/win32 && cd contrib/win32</div><div><br></div><div>#run the bootstrap</div><div>../bootstrap --host=i686-w64-mingw32</div><div><br></div><div>#symlink in the contrib as make prebuilt tries to download contrib and fails (plus the latest one isn't supported by vlc 2.1)</div><div>ln -s ../../../vlc-contrib-i686-w64-mingw32-20140507.tar.bz2 vlc-contrib-i686-w64-mingw32-latest.tar.bz2</div><div>make prebuilt</div><div><br></div><div>#remove the 64 bit binaries</div><div>rm -f ../i686-w64-mingw32/bin/moc ../i686-w64-mingw32/bin/uic ../i686-w64-mingw32/bin/rcc</div><div><br></div><div>#go back and run the bootstrap</div><div>cd -</div><div>./bootstrap</div><div><br></div><div>#create the dir we'll be compiling in</div><div>mkdir win32 && cd win32</div><div><br></div><div>#tell the system where to find the pkgconfig dir</div><div>export PKG_CONFIG_LIBDIR=$HOME/vlc/contrib/i686-w64-mingw32/lib/pkgconfig</div><div><br></div><div>#run configure</div><div>../extras/package/win32/configure.sh --host=i686-w64-mingw32</div><div><br></div><div>#compile</div><div>make</div><div><br></div><div>#create the package</div><div>make package-win32</div></div></div>