Compiling OpenMPT with Visual Studio Express

Started by Saga Musix, April 11, 2010, 17:16:38

Previous topic - Next topic

Saga Musix

I've recently heard from 8bitbubsy that you actually can compile OpenMPT using Visual Studio Express - wohoo!
So what do you need?

- Download the Windows SDK
- Download the DirectX SDK
- Grab the ASIO SDK files from an old SVN revision, f.e. revision 240. Those files reside in the "include" directory.
- You'll get some __RPC_OUT problems, just do "#include <rpcsal.h>" on top of mediaobj.h (the one in the visual c++ include library).

I have obviously not tested this myself, but maybe someone using VS Express can confirm that this works?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Rakib

I'll try tomorrow. VS2010 will be released then, been wanting to try it out for a long time.
http://www.microsoft.com/visualstudio/en-us/visual-studio-events
^^

Saga Musix

I don't know what additional steps would/could be necessary for VS2010, since there's no project file for VS2010 yet. I guess I'll get VS2010 ASAP when it's available at university and try it out.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Rakib

But how is this possible?



Quote from: "http://www.microsoft.com/express/Support/Support-faq.aspx"Does Visual C++ 2008 Express Edition include MFC and ATL?

No, MFC and ATL are not included with Visual C++ 2008 Express. MFC and ATL will be included in Visual Studio 2008 Standard and above editions.
^^

Saga Musix

That's what the Windows SDK is for. It just says "is not included", not "does not work with".
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Rakib

Hope this is the right file, 1.5GB.
http://www.microsoft.com/downloads/details.aspx?FamilyID=71deb800-c591-4f97-a900-bea146e4fae1&displaylang=en.

And I'm a bit concerned about VS2010 which has removed the local include directories, and instead moved it to each project file.

And also with the new soon to be released winsdk 7.1 with support for .net 4, it looks like it's installer file is going to be 1/3 of the current version, so I'm just guessing MFC is one the things they might remove.

http://blogs.msdn.com/windowssdk/
^^

g

Quote from: "Jojo"I guess I'll get VS2010 ASAP when it's available at university and try it out.
It's already available at Dreamspark. MSDNAA seems to be slower.

Saga Musix

Well, MSDNAA is a lot less hassle for me (no verification or whatever needed), so I will wait for that...
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Harbinger

Does this mean i dont need to go buy VS Pro to work on and compile MPT? Will i have to give up anything if i use Express?

Saga Musix

If bubsys discoveries work for you, that means that you don't have to buy VS and you will have everything you need for now.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Harbinger

Quote from: "Jojo"
So what do you need?

- Download the Windows SDK
- Download the DirectX SDK
- Grab the ASIO SDK files from an old SVN revision, f.e. revision 240. Those files reside in the "include" directory.

Which Windows SDK? After a search in microsoft, it has choices for Windows 7, Windows SDK for Visual Studio 2008 (but the notes say it does NOT work with Visual Studio Express), and many other types.

(If it matters, i'm using Windows XP...)

I found the DirectX SDK for XP here, but there other more recent versions. This one is a 441 MB DL!

Still looking for the ASIO SDK...

Saga Musix

Quote from: "Harbinger"Still looking for the ASIO SDK...
The ASIO stuff can be found here, just extract the files into OpenMPT's "include" directory (there are already files like BLADEENC.H in that directory).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

8bitbubsy

Download the Windows 7 SDK even though you're in XP (it installs the XP SDK files)
http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en

It's a big download but it's a one-time install. Same goes to the DirectX SDK.
They should both work with Visual C++ 2008 Express.

Regarding the ASIO files, Saga_Musix has got them in a zip somewhere... Make its presence known!
EDIT: I'm a slowpoke!
You can also put the include files here:
<programfiles>\Microsoft Visual Studio 9.0\VC\include
Which means you don't have to download them again if you were to accidentally delete the OpenMPT SVN folder.

As for the SDKs you download, they are seen by Visual C++ as include paths. Don't copy or move them.

Harbinger

Bad news --- you have to be on the internet at your own computer, because the Download button apparently downloads an executable that downloads the actual software. Seeing that i'm on the internet at the library, and they don't allow installation of anything onto their computers, nor running an executable from even a flashdrive, i've hit the proverbial dead-end...
Which may be ok, i only have a 4GB flashdrive anyway; i don't think i would have made it. :cry:

The DirectX SDK was also too big, and it would have taken a couple of hours here at the library, and we're only allowed 2 hours a day. :x

As for others, i'm sure it will work. Thanks 8bit for that great info!! :wink:

Saga Musix

You could try the ISO version Rakib linked to earlier. You can burn that on a CD (or use CD emulation, for that matter). If that's too big, try a download manager (preferrably a portable one).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.