1 Information for builds after 0.71
\r
2 =================================
\r
4 This project now uses VS2005. VS2003/2002/6.0 will *not*
\r
5 be able to open or build this project.
\r
7 This also means it uses V8.0 of the run time libraries.
\r
8 Depending if i have suppressed the warnings, you may
\r
9 see lots of compiler warnings about things in the C
\r
10 library being deprecated. As of V8.0 most of the standard
\r
11 C library is marked deprecated and it is recommended to
\r
12 use new and semantically different functions from the new
\r
13 secure CRT. Since there are so many of these occurences,
\r
14 and some of the code needs to be portable, these warnings
\r
15 are mostly suppressed/ignored.
\r
17 In order to fix unicode problems on modern systems without
\r
18 dropping support for 9X/ME machines, a custom built
\r
19 C runtime needs to be used. These are in the repository
\r
20 in the bin directory. You need to overwrite some of your
\r
21 Visual Studio files to build the version that can run
\r
22 on the old versions. At this stage i haven't checked
\r
23 whether it is now unbuildable without doing this (i don't
\r
24 think it will be, just you will get a binary that only
\r
25 works on NT/2K/XP systems)
\r
27 (More info to come on this)
\r
29 You need to set up several things in your build environment
\r
30 in order to build this project. It depends on several
\r
31 Microsoft SDK's. Without these you cannot build this
\r
34 The directshow SDK is now part of the core platforms SDK.
\r
35 You will need this as well as the DirectX SDK.
\r
37 There are no longer hardcoded paths into the directx sdk,
\r
38 all the projects now use the environment variables that
\r
39 are created by installing the SDK's.
\r
41 The main solution is in \sln\oggdsf_all
\r
43 Some projects in the solution may not build. You should
\r
44 build the distribution project called oggcodecs, to
\r
45 ensure you are build all and only the projects that are
\r
46 part of the core distribution. VS Express, may or may not
\r
47 properly handle distribution project.
\r
49 If you are using the distribution project from the IDE
\r
50 it is important that before you
\r
51 install using that installer, that you uninstall any
\r
52 version of the official distribution. Similarly, if
\r
53 you are going to install the official distribution
\r
54 after you have used this feature, you need to unistall
\r
55 the official distribution.
\r
56 They use two different installer technologies, and each
\r
57 will install over the other without the other one
\r
60 In order to build you need the following
\r
61 * Visual Studio 2005 - I develop and test with the professional
\r
62 edition. This is the recommended way to build.
\r
64 It should/may also be possible to build with the
\r
65 free Express edition. To build the directshow filters
\r
66 core package, you'll need VC++ 2005 Express. Other
\r
67 projects not part of the core distribution are in C#
\r
68 so if you want to be able to open every project in the
\r
69 solution you will also need this. I have not tested
\r
70 using the express edition yet. If you try and it works
\r
71 let me know, or tell me anything special you had to do.
\r
73 You can download express edition for free from
\r
74 http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
\r
77 * Windows Server 2003 SP1 Platform SDK - Yes, even if you
\r
78 are using XP or whatever operating system.
\r
80 You can download it from (~400MB, getting the disk image is easiest)
\r
81 http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
\r
83 You will need to update the build paths in VS2005, whether
\r
84 you use express or the full version. The following link explains
\r
85 how to do that (see step 3). If using express, you will need
\r
86 to follow all the steps on this link.
\r
88 http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
\r
92 eg. in the Executable files list *at the top* of the list
\r
93 ad $(MSSdk)\Bin and in the include list $(MSSdk)\include
\r
94 They must be at the top (or at least above the other
\r
95 references to the built in platform sdk),
\r
96 otherwise the compiler will
\r
97 still use the old version it came with.
\r
99 In the installer there is one item not checked at the top
\r
100 This option adds the MSSdk environment variable. It
\r
101 warns this could affect other programs that use older
\r
102 versions of the platform sdk. It caused no problem for
\r
103 me, but if you have development projects depending
\r
104 on this variable and/or older versions of the platform
\r
105 SDK, you'll have to work out what works for you. That
\r
106 warning is pretty big and bold.
\r
108 If you don't take this option, you'll need to hardcode in
\r
109 the path you installed the platform sdk to as it does
\r
110 suggest in step 3 of the link above, however this still
\r
111 changes VS's global settings could also cause problems.
\r
113 Alternatively, if you don't take this option, and later
\r
114 realise that this issue will not affect you, you can
\r
115 add the MSSdk user and system variable yourself if you
\r
118 Hardcoding the path will force VS to always use this
\r
119 version, and you'll have to update it if a new one
\r
120 comes out. Using the environment variable will cause
\r
121 it to always use the latest version (really whatever version
\r
122 the variable points to). Each option has it's ups and
\r
123 downs, depending on what other development work you do.
\r
125 Also note: That big bold warning says you can register with
\r
126 visual studio by using a link in the start menu. This
\r
127 *does not* work for VS2005. The platform SDK was released
\r
128 before VS2005, it's probably updating the build paths
\r
129 in vs2003. This is the reason you have to manaully update
\r
130 the paths in options. It's likely when a new platform
\r
131 SDK is released it will work properly for VS2005.
\r
134 You mileage mary vary if you have the express edition.
\r
136 * DirectX SDK February 2006 (or probably later will work too)
\r
138 You can download it from (~350MB, validation required)
\r
139 http://www.microsoft.com/downloads/details.aspx?FamilyID=EDB98FFA-A59C-4C23-9B92-BA304F188314&displaylang=en
\r
141 You will also need to add to your include paths in
\r
142 Visual Studio the path to the DX include files.
\r
143 This DX SDK creates the environment variable DXSDK_DIR
\r
145 So you need to add to the include list (as you did above)
\r
146 $(DXSDK_DIR)include
\r
148 * WMP 10 SDK - Need after 0.72 release.
\r
150 You can download from here
\r
151 http://msdn.microsoft.com/windowsmedia/downloads/default.aspx
\r
153 You need to add the include path to visual studio. In
\r
154 tools->options->projects and solutions->vC++ dirs
\r
157 Add the WMP include path to the include list (drop down at top)
\r
158 default install path will be c:\WMSDK\WMPSDK10\include
\r
160 * NASM 0.98.38/0.98.39 - This is required for flac. Best to
\r
161 install it to it's default at C:\NASM. Where "best to"
\r
162 means if you don't want to be screwing around.
\r
164 You can download from here
\r
165 http://sourceforge.net/projects/nasm
\r
167 * Windows Mobile 5.0 Developer Resource Kit (~900MB)
\r
168 http://www.microsoft.com/downloads/details.aspx?familyid=3BAA5B7D-04C1-4EC2-83DC-61B21EC5FE57&displaylang=en
\r
170 The express edition can not do mobile development.
\r
171 I have no idea whether it will let you open the project
\r
172 and ignore the mobile configurations or whether
\r
173 it will just refuse to let you. I'm not sure if
\r
174 the professional edition will even let you open the
\r
175 projects which have wm5 configs (most of them)
\r
176 without installing this.
\r
178 * Doxygen with DOT if you want to create the doc files
\r
179 - Most recently used graphviz (DOT) V2.8 from
\r
180 http://www.graphviz.org/Download_windows.php
\r
181 - And doxygen version 1.4.7 from
\r
182 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
\r
184 * NSIS (currently using 2.17) to build the installers
\r
188 You need all these things if you want to build this project.
\r
189 If you already do directx/multimedia development you may already
\r
190 have some or all of these sdk's. You only need them once to setup
\r
191 your build environment.
\r
193 It may seem excessive that you need to download 2 gigabytes of stuff
\r
194 just to build. This project uses technologies from several sdk's,
\r
195 and there is no way around that. Once you set up these things, the
\r
196 project is very easy to build, with the professional edition and
\r
197 above that is, possibly the standard edition.
\r
199 The baseclasses library is no longer used from the platform
\r
200 SDK (but you still need it). There is a modified version
\r
201 of the baseclasses libraries that is part of this source.
\r
202 The version in the platform SDK won't build in VS2005 as it
\r
203 is, the modifed version that is part of this source has
\r
204 fixes so that it builds correctly with the new compiler.
\r
206 This project now uses V8 of the runtime libraries. As of
\r
207 version 8, there are changes to the way the operating system
\r
208 handles these libraries. The first release to use this is/will be
\r
211 The release distributions are built using NSIS. There is
\r
212 an MSI installer project in the solution, this is only
\r
213 for developer convenience. It is often not fully up to
\r
214 date, and/or correct. It should *never* be used as a means
\r
218 ==========================================================
\r
219 The below information is left for reference, where the
\r
220 information above conflicts with this, the information
\r
221 above should take precedence. Much of the information
\r
222 below is no longer relevant.
\r
223 ==========================================================
\r
224 Updated after 0.62 release.
\r
225 ==========================
\r
227 These are probably not very build friendly at the moment.
\r
228 I will make them a bit more user friendly in the future.
\r
231 In order to build these...
\r
234 You need visual studio 2003. There are no VC6 files or VS2002 files.
\r
235 In theory you should be able to create VC2002 files... and in fact
\r
236 out of date VC2002 files are generally found with .vcproj.bak
\r
237 extensions. However some of the libraries will not build in VS2002,
\r
238 there is a bug in the 2002 compilers imlpementation of mixed mode
\r
239 dlls, which stops some of the .NET bridging libraries linking.
\r
241 You need NASM for FLAC to build. (lifes easier if it's at C:\NASM)
\r
242 you'll have to play around with that yourself... it's a real pain !
\r
243 Also the vcproj files have hidden settings that don't show up
\r
244 in visual studio... you'll have to figure it out (ie edit the vcproj)
\r
245 I suggest once you get it to build, leave it built... don't clean
\r
246 that project. The clean script it has for some reason tries to
\r
247 delete some necessary header files. Don't ask me why !
\r
248 Also ignore visual studio hassling you about sourcesafe for flac.
\r
250 I've been using NASM 0.98.38 which you can find here
\r
251 http://sourceforge.net/projects/nasm You want the win32 binaries.
\r
253 If you do accidentally clean FLAC, you will get a message when you
\r
254 try to build that says "ordinals.h" not found. You need to
\r
255 go to the libFLAC directory and find the file called ordinals.h.bak
\r
256 and *copy* it to the same directory without the .in extension.
\r
257 Don't just rename it... you want to keep that file for next time
\r
260 You need DirectX 9 SDK installed (lifes easier if it's at C:\DXSDK)
\r
261 Otherwise all projects prefixed with dsf you'll need to change the
\r
262 absolute references to that path. I'll try to do something to make
\r
263 this easier in future.
\r
265 If the baseclasses project shows up as not found, you need to find
\r
266 it in the DXSDK directory tree, and load it from there.
\r
267 By default it tries to build against Multithreaded static runtimes
\r
268 You *must* change these to Multi Threaded DLL or Multi Threaded
\r
269 debug DLL. Otherwise all sorts of chaos will occur. This project
\r
270 is not part of the package. It is part of the DirectX SDK.
\r
272 If you try to build the installer project, you need to change the paths
\r
273 of the AUTHORS, COPYRIGHTS etc files... i can't make it accept a
\r
276 Probably other stuff i can't think of. These aren't really ready for
\r