[WIN32] Compiling using later DX SDK's
#1
Question 
The August 2009 SDK for DX removed dxerr9.h entirely. So the two references to it in VideoReferenceClock.h and one other place will fail.

Building XBMC using it, gives build errors as a result.

It already looks like some preprocessor conditionals are in place to detect which header to use (dxerr9 or dxerr) but I think they aren't quite right.

The Aug2009 SDK has a DIRECT3D_VERSION of 0x0900 so building using it will fail with the current conditional.

I googled around, and it looks like dxerr.h has been in place as far back as 2007. So you could just use dxerr.h all the time. Or you can detect which SDK version you have and use that as the conditional to switch between the two.

I forced it to use dxerr.h when I compiled last night and saw no crashes.

Forgive me if my description is bad, but I'm pretty green with c++.
Windows 7 x64 Home Premium
Gigabyte MA78GM-U2SH Mainboard
ATI HD3200 Onboard
AMD 7750BE Dual-Core 4.00GB RAM
ATI HD3200 HDMI Sound
HTPC HMDI -> ONKYO TX-SR605 -> Panasonic TH-46PZ85U Plasma
Reply
#2
Please post a diff on trac and we'll look into it.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
Rainbow 
Thanks,

My first patch is submitted. Hopefully its correct. Smile
http://trac.xbmc.org/ticket/7308
Windows 7 x64 Home Premium
Gigabyte MA78GM-U2SH Mainboard
ATI HD3200 Onboard
AMD 7750BE Dual-Core 4.00GB RAM
ATI HD3200 HDMI Sound
HTPC HMDI -> ONKYO TX-SR605 -> Panasonic TH-46PZ85U Plasma
Reply
#4
Thanks, I just downloaded the latest SDK and preparing to check if I can build XBMC Rolleyes , will adjust the #includes

An error I got (mentioned in Wiki)

Quote:error C2471: cannot update program database

Unfortunately the hotfix didn't want to install because "You don't have any of the products installed" Huh

There are 2 alternatives in this case:

Upgrade to VS 2008 SP1. That worked for me.

Other solution I've seen (not tested in my case) is :

Quote:In VS 200x
Open Properties for the XBMC project
Navigate Configuration Properties | C\C++ | General | Debug Information format ==> Set to C7
Reply
#5
I had to install the hot fix (didn't help) upgrade to SP1 (didn't help) use the final step that sorted it out...

Now I am still having some issues with an unresolved external dependency but this is unrelated as far as I can tell.

Code:
Error    1    error LNK2001: unresolved external symbol __imp__longjmp    freetype239.lib    XBMC

Once that is resolved I should finally be able to build using the latest SDK on a WinXP machine (I know some dev somewhere in the world just got a terrible tummy ache but hey it is what I booted into this morning, tomorrow I'll be good and run Linux again Laugh)

Issue resolved (I forgot to move the DLL's into the devel directory, as described in the wiki). At this point the build with the very latest version of the DX SDK works without any issues. The resulting build works quite well on Windows XP, have not bothered trying this on a DX10 or DX11 OS as I do not have either running at the moment.

Next step I guess is to finally start doing some coding on this (time permitting of course which is going to be a serious issue I fear)
Reply

Logout Mark Read Team Forum Stats Members Help
[WIN32] Compiling using later DX SDK's0