I get an illegal cast error for sounddep\sound.c(496).
Parser.c and ioport.c get lots of errors, because the headers of ghostscript and winio seem to have changed from what Toni uses. I could confirm this for paraport.

EDIT: ioport.c compiles if every reference to getPortInfo (line 166, 170, 199) is turned off. paraport.h does not define PARAPORT_INFO any more.
EDIT2: Inluded ghost.h, imain.h, ierrors.h, iapi.h to parser.c and made all ghostscript headers visible to the compiler. parser.c compiles now.

My build system is XP, Visual C++ Express 2008, latest DirectX SDK (DXSDK_Aug2009), WDK (was DDK) and Windows 7 SDK (!). (GNU, where are you )Then I copied dxerr.h to dxerr9.h. The DDK headers screw everything else, so I only included ntdkbd.h, ntddstor.h and ntddcdrm.h which is sufficient.
EDIT3: see here
The compilation is set to win32 and release, since windowing stuff won't compile in debug mode.

1.6.1. ... hmm.
Maybe an attempt with the latest beta sources will give more promising results?
(Yes, I know you'll have to ask Toni for them, since there's no link.)
It would certainly be worth a try because poking around in old source code is usually not too great fun

You do know that I am not interested with "lots of errors" and similar "error reports". Obviously I do not get those errors

DDK headers do not screw anything up either. Do you want help or do you just want to complain? It is always so easy to blame others. (sorry for being annoying again but I had two choices, either not reply at all or reply something and I just can't do it without commenting your style...)

Originally Posted by Toni Wilen:
You do know that I am not interested with "lots of errors" and similar "error reports". Obviously I do not get those errors

I haven't tried for a while, but I can confirm that at least winuae used to compile just fine for me too with a correctly setup build environment (there were some minor quirks when I last tried, but they had nothing to do with the "standard" windows/platform/driver/dx DDKs).

I seriously doubt Toni would have broken it "just for fun" since.

Of course, there may be some fun hunting down all the dependencies still.

EDIT: Though, I haven't tried the free compiler (express) ever, so don't if it will bring its own problems.

Originally Posted by Toni Wilen:
Do you want help or do you just want to complain? It is always so easy to blame others. (sorry for being annoying again but I had two choices, either not reply at all or reply something and I just can't do it without commenting your style...)

I did not blame anybody for anything and I am not complaining. (That would not make any sense. Whom? For what? ) I just tinkered some hours, reported what I found, and tinkered some more to find solutions. Nevertheless I apologize if you feel offended by my style. (Style?) It simply expresses that I stagger from one pitfall to the next, and that the MS tool chain just seems uncomfortable.

Originally Posted by Toni Wilen:
Also "other" header files can also cause conflicts. I haven't updated ghostscript etc.. header files for long time now. Perhaps it is time

parser.c in combination with gs 8.70 gave me literally dozens of "missing" braces, semicolons etc. (That is what I meant by "lots of errors".)
And yes, one can fix this by adding several subdirectories of the gs source tree for headers, and parser.c must include: ghost.h, imain.h, ierrors.h, iapi.h

Originally Posted by Toni Wilen:
I am quite sure problem is wrong order of Windows header paths (it can cause really weird errors)

For me it works now with

SDK

DXSDK

VC include dir

DDK

everything else

(VC's includes were part of "everything else" before. That gave me many syntax errors in stdio.h etc. Is "screw up" too harsh? I would say this is unexpected behaviour.)

Originally Posted by Toni Wilen:
winio.h is not C compatible, remove extern "C" and line that includes "bool"

Yes did so, but didn't know it was common sense, and therefore reported it as an error.

Originally Posted by Maccara:
I seriously doubt Toni would have broken it "just for fun" since.

Me too. It's all about correct setup, compatibility etc.

There is still an issue with undefined PARAPORT_INFO. (Though I guess it isn't really needed.)

Random set of header files and libraries uploaded to the zone. Hope these helps.

Your problem is calling convention mismatch, I changed it from _cdecl to _stdcall (_cdecl = standard C-style, parameters always in stack, _stdcall = use registers first and then stack) few releases ago and some external dlls headers do not specify calling convention = defaults to _stdcall now = problems. (linker errors or crashes when calling the function)

(for example portaudio.h)

I would have remembered this issue instantly if you'd have included better errors in first post

btw, winsdk comes with utility that changes between SDK versions, easier than changing paths (but GUI version may not work with 2008sp1.. command line version will..)

Then I had to rename ./od-win32/resources/resource to ./od-win32/resources/resource.h and reset the output dir for the linker.
(Don't know if that is normal. Express is designed not to help you with resource files in any way.)

The hq*.asm files in od-win32 don't get assembled and therefore the linker complains about not finding hq4x16.obj. So I added these hq*.asm to target winuae:common with build rule MASM, but MASM tells me

Some library dependencies have changed their names: dxerr9->DxErr, zlibstat->zlib, portaudio_x86->pablio

The command line for the assemblies is (probably)

Code:

nasm -f coff -w-all -o hq2x16.obj hq2x16.asm
...

I ran into the problem that strcmpi is not resolved by the linker. (It seems to have been deprecated in VC '05 and abandoned in '08). It is used in zfile.c, unzip.c and heavily in direct3d.c. I'll try to replace it with stricmp() tomorrow.

Some library dependencies have changed their names: dxerr9->DxErr, zlibstat->zlib, portaudio_x86->pablio

dxerr: yes (changed in August 2009 version)
zlibstat: = this is static library, this does not come with win32 binary release. (at least didn't when I built it myself)
portaudio: pablio? what? (you also need to use svn version of portaudio)

Originally Posted by :
The command line for the assemblies is (probably)

Code:

nasm -f coff -w-all -o hq2x16.obj hq2x16.asm
...

asm.cmd comes with sources

Originally Posted by :
I ran into the problem that strcmpi is not resolved by the linker. (It seems to have been deprecated in VC '05 and abandoned in '08). It is used in zfile.c, unzip.c and heavily in direct3d.c. I'll try to replace it with stricmp() tomorrow.