The below section of the wiki was made by me, Jeremy duncan, and it shows how I made FFDshow.exe. The above wiki was unaltered by me as I thought it would be disrespectful to alter it in any way.

Prerequisite software

software used: xp mce, install windows and update

  • First install visual studio professional 2008, default install, default directory. After installing it open visual studio 2008 from the all programs list and choose c++ environment, then reboot.

Then install the visual studio sp1.

  • Second install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 in this folder: C:\Program Files\Microsoft Visual Studio 9.0\VC\PlatformSDK

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.

  • Third Install directx sdk August 2009 version, default location, reboot after installing it.
  • Install TortoiseSVN
  • Install Innosetup QuickStart Pack ispack-5.3.7-unicode.exe or newer version, it will offer to install add ons. Let it install all the add ons.
  • install yasm (for “normal” (Visual Studio or similar) use on 32-bit Windows): yasm-0.8.0-win32.exe

Rename to yasm.exe and put the file in this folder: C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

  • install MinGW32 Custom installer (build 2009-12-05). During installation on the “Select components” page, make sure all the boxes are checked.

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

  • If you install the Intel C++ compiler so you can build ffdshow_2008_icl10.sln, then first install Visual Studio, open visual studio then reboot. Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1, directx sdk, then install the intel compiler. The intel c++ compiler works with visual studio professional, I didn't test it with the free visual studio.
  • Reboot now, all the software you need to install is installed.

Optionally,

If you don't want to buy Visual Studio 2008 Professional, you can build the ffdshow installer using free software instead.

  • First step you would install the Microsoft Visual Studio 2008 Express Editions with SP1 instead of visual studio professional 2008.

Install Visual C++ 2008 Express Edition with SP1, install the add ons it offers to install.

  • Second step, in the C:\Program Files\Microsoft Visual Studio 9.0\VC folder you would install the Windows® Server 2003 R2 Platform SDK:
  • C:\Program Files\Microsoft Visual Studio 9.0\VC\Microsoft Platform SDK for Windows Server 2003 R2
  • Third step, Open visual studio 2008, go to “tools, options, projects and solutions, vc++ directories”: Add this bolded directory to the include files.
  • C:\Program Files\Microsoft Visual Studio 9.0\VC\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl
  • $(ProgramFiles)\Microsoft DirectX SDK (August 2009)\Include
  • $(WindowsSdkDir)\include
  • $(VCInstallDir)include
  • $(VCInstallDir)atlmfc\include
  • $(FrameworkSDKDir)include

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.

Getting the source code: How to get the files

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

The compilers used to create the files

  • First files built, using ffdshow_2008.sln
  • ff_acm
  • ff_kernelDeint
  • ff_vfw
  • ff_wmv9
  • ffavisynth
  • ffvdub
  • FLT_ffdshow
  • makeAVIS
  • rebase
  • TomsMoComp_ff
  • verinc
  • xvidcore
  • ffdshow_all
  • libmpeg2_ff, building this in msvc lets it multithread better than if you built it in gcc.
  • Second files built, using either ffdshow_2008.sln or ffdshow_2008_icl10.sln:
  • ff_liba52
  • ff_libdts
  • ff_libfaad2
  • ff_libmad
  • ff_realaac
  • ff_samplerate
  • ff_tremor
  • ff_unrar
  • ffdshow ( last file built)
  • Note
  • If you build the second set of files using the icl.sln/intel compiler, then you will be asked to convert the files, choose yes for all.
  • Then from configuration manager set the project to release unicode win32.
  • You will need to build each file individually to do this step. Right click the file and click “Intel c++ compiler pro”, “select build components”, check “Use IPP”. If you do not check Use IPP the build will be much slower and not multithread as well.
  • Third set of files, these files need to be compiled in gcc:
  • libmplayer.dll
  • libavcodec.dll
  • ffmpegmt.dll
  • ff_theora.dll
  • ff_x264.dll

Configuring the compilers: How to configure the visual studio compiler

  • Open visual studio 2008, it will ask which default environment: c++ environment, go to “tools, options, projects and solutions, vc++ directories”

show directory for: executable files (list is from top to bottom. use the arrows to move a line up or down.)

  • $(WindowsSdkDir)\bin
  • $(VCInstallDir)bin
  • $(VSInstallDir)Common7\Tools\bin
  • $(VSInstallDir)Common7\tools
  • $(VSInstallDir)Common7\ide
  • $(ProgramFiles)\HTML Help Workshop
  • $(FrameworkSDKDir)bin
  • $(FrameworkDir)$(FrameworkVersion)
  • $(VSInstallDir)
  • $(SystemRoot)\SysWow64
  • $(FxCopDir)
  • $(PATH)

show directory for: include files (list is from top to bottom. use the arrows to move a line up or down.)

  • $(ProgramFiles)\Microsoft DirectX SDK (August 2009)\Include
  • $(WindowsSdkDir)\include
  • $(VCInstallDir)include
  • $(VCInstallDir)atlmfc\include
  • $(FrameworkSDKDir)include

show directory for: reference files (list is from top to bottom. use the arrows to move a line up or down.)

  • $(FrameworkDir)$(FrameworkVersion)
  • $(VCInstallDir)atlmfc\lib
  • $(VCInstallDir)lib

show directory for: library files (list is from top to bottom. use the arrows to move a line up or down.)

  • $(ProgramFiles)\Microsoft DirectX SDK (August 2009)\Lib\x86
  • $(WindowsSdkDir)\lib
  • $(VCInstallDir)lib
  • $(VCInstallDir)atlmfc\lib
  • $(VCInstallDir)atlmfc\lib\i386
  • $(FrameworkSDKDir)lib
  • $(VSInstallDir)
  • $(VSInstallDir)lib

show directory for: source files (list is from top to bottom. use the arrows to move a line up or down.)

  • $(VCInstallDir)atlmfc\src\mfc
  • $(VCInstallDir)atlmfc\src\mfcm
  • $(VCInstallDir)atlmfc\src\atl
  • $(VCInstallDir)crt\src

show directory for: exclude directories (list is from top to bottom. use the arrows to move a line up or down.)

  • $(VCInstallDir)include
  • $(VCInstallDir)atlmfc\include
  • $(WindowsSdkDir)\include
  • $(FrameworkSDKDir)include
  • $(FrameworkDir)$(FrameworkVersion)
  • $(VCInstallDir)atlmfc\lib
  • $(VCInstallDir)lib
  • To configure intel compiler, go to “tools, options, Intel C++, Compilers”
  • Target platform: win32
  • Selected version of suite/Compiler: latest
  • Selected compiler: Intel(R) C++ 11.1.054 [IA-32]
  • [Intel(R) C++ Compiler Professional for applications running on IA-32, Version 11.1 Package ID: w_cproc_p_11.1.054]
  • Executables: $(ICInstallDir)bin\ia32;$(CommonProgramFiles)\Intel\Shared Files\Ia32\Bin
  • Libraries: $(ICInstallDir)lib\ia32;$(ICInstallDir)ipp\ia32\lib
  • Includes:$(ICInstallDir)include;$(ICInstallDir)ipp\ia32\include
  • Default options: /Qvc9 /Qlocation,link,”$(VCInstallDir)bin”

MinGW workaround on Vista: Bat file

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.

  • To make and use the bat file, copy and paste the code above into a notepad text, save the file then change the file extension from ”,txt” to ”.bat”.

Then to run the bat filein vista right click the bat file and choose to run as administrator.

  • This bat file is for the custom mingw made to build ffdshow in the prerequisites software section: mingw32_gcc441_20091205.

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.

Using Mingw Msys to create the files listed in the compilers section

  • click Start, all programs, mingw32, msys
  • A cmd prompt black window will appear with a dollar symbol “$”.
  • Copy and paste each directory from the list I will show, then press enter. Then type “make”, then press enter and the file will be created in the C:\ffdshow-tryout\trunk\bin folder
  • here is a example of what the black msys window will look like:
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:

  • built with mingw msys cmd promt
  • libmplayer.dll: cd ”/c/ffdshow-tryout/src/mplayer”
  • libavcodec.dll, ffmpegmt.dll, ff_theora.dll, ff_x264.dll: cd ”/c/ffdshow-tryout/src”

Using bat file cmd prompt to create the files listed in the compilers section

               
* 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:

  • Open bat file from administrator
  • copy and paste directory
  • press enter
  • type make
  • then press enter and the file will be created in the bin folder.

Using Visual Studio to create the files listed in the compilers section

from visual studio create these files in the order shown starting from the top:

  • ff_acm
  • ff_kernelDeint
  • ff_vfw
  • ff_wmv9
  • ffavisynth
  • ffvdub
  • FLT_ffdshow
  • makeAVIS
  • rebase
  • TomsMoComp_ff
  • verinc
  • xvidcore
  • ffdshow_all
  • libmpeg2_ff.dll
  • ff_liba52
  • ff_libdts
  • ff_libfaad2
  • ff_libmad
  • ff_realaac
  • ff_samplerate
  • ff_tremor
  • ff_unrar
  • ffdshow ( last file built)
  • Open visual studio professional
  • from the file tab click open project/solution
  • go to this folder: C:\ffdshow-tryout, and choose ffdshow_2008.sln, press ok.
  • right click the very top file from the list it says 'Solution', and choose configuration manager, set the Active solution configuration to Release unicode, set the active solution platform to win32, click close.
  • highlight a file from the list shown, for instance ff_acm. Then from the build tab, choose project only, build only. Wait till it's built then look for the newly created file in the C:\ffdshow-tryout\trunk\bin folder

You do this for every file I listed above.

  • if you do everything correctly then when you build ffdshow you won't get a error, but if you did something wrong like all files from the list were not built before ffdshow then you will get a Yasm error when you try to build ffdshow.

Using Innosetup to create the ffdshow setup program

  • Now all the files are built and you can create a ffdshow.exe using innosetup.
  • Go to this folder: C:\ffdshow-tryout\bin\distrib\InnoSetup. double click this file to open it: ffdshow_installer.iss
  • Add the info in the first five lines:

tryout_revision buildyear buildmonth buildday

  • press f9, then from the build tab click compile and it will make ffdshow.exe and put it in that same folder.

All done ! :)

errors in msys and visual studio during compiling

  • In msys, the error is “gcc.exe: CreateProcess: No such file or directory”

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 visual studio, the error is Yasm, something about Yasm I forget the exact message.

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.

  • 'atlbase.h': No such file or directory.

Install the Windows® Server 2003 R2 Platform SDK as described in the prerequisite software section.

  • A tool returned an error code from “Increasing build version”.

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.

  • I can't compile the gcc files using msys without getting a error.

Then use command prompt.

How to make a patch file

  • Say you found a bug and want to correct it. What do you do?
  • The answer is you submit a patch to the ffdshow developers and they review it and approve it and then it gets included in the svn trunk.
  • How do you make a patch?
  • Answer: You need the file from the svn repo browser, then you fix the c++ code, then you make a patch.
  • Right click the folder you want to save the files to and from tortoisesvn click repo browser.
  • It will show the trunk and sub folders on the ffdshow svn trunk. Right click the trunk folder and click Checkout. It will save the trunk folders to the folder you specified.
  • Using your c++ editor, go to the folder that has the file you want to modify and open that file, modify the code, save the file. Then go to the trunk folder and right click it and from the tortoisesvn choose create patch. It will show the file you modified and ask where you want to save the patch. Then go submit the patch.
devel/building_jeremy.txt · Last modified: 2010/02/11 09:12 by tal_aloni
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki