software used: xp mce, install windows and update
Then install the visual studio sp1.
Sometimes there will be a installation problem. To fix this then use the web installer instead of the iso. Also the web installer says to install visual studio sp1 before installing this.
Rename to yasm.exe and put the file in this folder: C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
Msys needs to be checked as it is unchecked g++ needs to be checked as it is unchecked sdl needs to be checked as it is unchecked
Optionally,
If you don't want to buy Visual Studio 2008 Professional, you can build the ffdshow installer using free software instead.
Install Visual C++ 2008 Express Edition with SP1, install the add ons it offers to install.
Then just install the rest of the software as described in the Prerequisite section: Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1, directx sdk August 2009, etc.
Download the ffdshow package to your hard drive using TortoiseSVN.
Now all the sw and files necessary to build ffdshow are on the computer and you can start the project
show directory for: executable files (list is from top to bottom. use the arrows to move a line up or down.)
show directory for: include files (list is from top to bottom. use the arrows to move a line up or down.)
show directory for: reference files (list is from top to bottom. use the arrows to move a line up or down.)
show directory for: library files (list is from top to bottom. use the arrows to move a line up or down.)
show directory for: source files (list is from top to bottom. use the arrows to move a line up or down.)
show directory for: exclude directories (list is from top to bottom. use the arrows to move a line up or down.)
It may be difficult to install MinGW on Vista. You could insert the code below in your bat file to launch MSYS or cmd.exe.
Tips to get MINGW working on MS VISTA
You don't really need to use this bat file, but it's here in case for some reason you need it here it is.
set MINGWROOT=C:\MinGW32 set MINGWBIN=%MINGWROOT%\bin set MINGWINCLUDE=%MINGWROOT%\include set MINGWINCLUDE=%MINGWROOT%\include\ddk set MINGWINCLUDE=%MINGWROOT%\include\GL set MINGWINCLUDE=%MINGWROOT%\include\SDL set MINGWINCLUDE=%MINGWROOT%\include\sys set MINGWLIB=%MINGWROOT%\lib set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1 set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\backward set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\bits set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\debug set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\basic_tree_policy set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\bin_search_tree_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binary_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binomial_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binomial_heap_base_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\cc_hash_table_map_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\eq_fn set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\gp_hash_table_map_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\hash_fn set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\left_child_next_sibling_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\list_update_map_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\list_update_policy set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\ov_tree_map_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\pairing_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\pat_trie_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\rb_tree_map_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\rc_binomial_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\resize_policy set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\splay_tree_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\thin_heap_ set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\tree_policy set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\trie_policy set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\unordered_iterator set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\mingw32\bits set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\parallel set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\tr1 set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\c++\tr1_impl set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include\ssp set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\include-fixed set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\install-tools set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\4.4.1\install-tools\include set MINGWLIB=%MINGWROOT%\lib\gcc\mingw32\bin set MINGWLIBEXEC=%MINGWROOT%\libexec\gcc\mingw32\4.4.1 set MINGWLIBEXEC=%MINGWROOT%\libexec\gcc\mingw32\4.4.1\install-tools set MINGWLIB=%MINGWROOT%\MSYS set MINGWLIB=%MINGWROOT%\MSYS\bin set MINGWLIB=%MINGWROOT%\MSYS\etc set MINGWLIB=%MINGWROOT%\MSYS\mingw set MINGWLIB=%MINGWROOT%\MSYS\share\file set MINGW=%MINGWROOT%;%MINGWBIN%;%MINGWINCLUDE%;%MINGWLIB%;%MINGWLIBEXEC%;%MSYS% rem to add more resource paths just use the set command like above and then add it to the set PATH like below set PATH=C:\MINGW32;%path% set PATH=C:\MINGW32\bin;%path% set PATH=C:\MINGW32\include;%path% set PATH=C:\MINGW32\include\ddk;%path% set PATH=C:\MINGW32\include\GL;%path% set PATH=C:\MINGW32\include\SDL;%path% set PATH=C:\MINGW32\include\sys;%path% set PATH=C:\MINGW32\lib;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\backward;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\bits;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\debug;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\basic_tree_policy;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\bin_search_tree_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binary_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binomial_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\binomial_heap_base_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\cc_hash_table_map_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\eq_fn;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\gp_hash_table_map_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\hash_fn;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\left_child_next_sibling_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\list_update_map_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\list_update_policy;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\ov_tree_map_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\pairing_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\pat_trie_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\rb_tree_map_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\rc_binomial_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\resize_policy;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\splay_tree_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\thin_heap_;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\tree_policy;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\trie_policy;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\ext\pb_ds\detail\unordered_iterator;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\mingw32\bits;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\parallel;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\tr1;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\c++\tr1_impl;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include\ssp;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\include-fixed;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\install-tools;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\4.4.1\install-tools\include;%path% set PATH=C:\MINGW32\lib\gcc\mingw32\bin;%path% set PATH=C:\MINGW32\libexec\gcc\mingw32\4.4.1;%path% set PATH=C:\MINGW32\libexec\gcc\mingw32\4.4.1\install-tools;%path% set PATH=C:\MINGW32\MSYS;%path% set PATH=C:\MINGW32\MSYS\bin;%path% set PATH=C:\MINGW32\MSYS\etc;%path% set PATH=C:\MINGW32\MSYS\mingw;%path% set PATH=C:\MINGW32\MSYS\share\file;%path% cmd
For vista all the programs need to be installed as admin, and run as administrator.
Then to run the bat filein vista right click the bat file and choose to run as administrator.
If that software is updated then the directories in the bat file may not match the directories the new mingw sw installs, if not then double check to see if the bat file lists all the folders the new sw installs.
jeremy@jeremy-A0DCBD577E3 ~ $
(Then I paste this line of code showing a directory for a makefile next to the dollar sign like so:)
jeremy@jeremy-A0DCBD577E3 ~ $ cd "/c/ffdshow-tryout/trunk/src/imgFilters/KernelDeint"
(Then I press enter and the result is shown below:)
jeremy@jeremy-A0DCBD577E3 /c/ffdshow-tryout/trunk/src/imgFilters/KernelDeint $
(Then by the dollar sign I type Make, then press enter and it will create the file in the bin directory.)
I do this for all the files in the list below:
* libavcodec, libmplayer.dll, ffmpegmt.dll, ff_theora.dll, ff_x264.dll: cd c:\ffdshow-tryout\src
The only difference between compiling the gcc files with the bat file cmd prompt vs using mingw msys is the code used to go to the directory. The steps to follow are the same as in the section above on compiling:
from visual studio create these files in the order shown starting from the top:
You do this for every file I listed above.
tryout_revision buildyear buildmonth buildday
All done ! :)
This is a error created by not installing the custom mingw software properly. Make sure all the boxes are checked in the “Select components” page when you install the custom mingw.
In order to fix this yasm error, make sure you don't compile ffdshow in visual studio until the other files that should be created first are created. Also use the yasm file linked to or a newer version but the same kind (for “normal” (Visual Studio or similar) use on 32-bit Windows).
Also the problem may be your trying to compile ffdshow.ax or xvidcore in msvc and the svn files aren't in the c:\ folder. To fix this then put the svn files in the c:\ folder.
Install the Windows® Server 2003 R2 Platform SDK as described in the prerequisite software section.
Build the visual studio files as described using release unicode, win32, then build ffdshow last.
If you open the ffdshow_2008_icl10.sln before you open ffdshow_2008.sln the files will be converted and you might get a error when you open ffdshow_2008.sln; so open ffdshow_2008.sln first and compile the files that aren't in the ffdshow_2008_icl10.sln, then open ffdshow_2008_icl10.sln and compile those files.
Then use command prompt.