views:

241

answers:

1

I would like to contribute to an open-source Windows Mobile project, but it's being developed in eVC 4.0, which flat-out does not work on Vista (feel free to correct me!), and I would prefer to avoid having to dual-boot or remote into my only remaining XP box. I have VS 2008 installed on my main development machine, and got all the SDKs, etc. I need to do WM work. But! Once I got all the source code together and started trying to build it, I had to make a lot of changes to support deprecated methods and some headers that had been moved around.

Ideally, I'd like to be able to work on the project "as though" I were running eVC instead. Is there some kind of "quirks mode" that lets me emulate eVC behavior in VS 2008? If not, is there a guide to porting apps from eVC to VS?

+1  A: 

No, there is no mode that's going to allow it. Studio '08 uses a different (much better in fact) compiler than eVC, so some things that eVC lets slip Studio won't. Generally speaking, the code from Studio will work under eVC.

Now if you're using MFC it's a totally different story. MFC under eVC and MFC under Studio are vastly different, and there are some cases (like CString) that just behave differently (classes in eVC, templates in Studio) especially if the objects weren't used "right" to begin with. Undoing that can be a huge mess.

Deprecated methods could be wrapped in an abstracted method so that under Studio the code routes one way and under eVC it routes another. Without knowing what methods in particular you have trouble with it's hard to give any more detailed advice.

Moved files should not be a problem. Add the include dirs to the project. You certainly shouldn't have pathing to the headers in the code files themselves.

Edit: One final note, Studio generally sucks at importing eVC projects, so it's also quite possible that you lost precompiler directives and things like that in the migration. Having missing #defines could certainly make the port more challenging, so check that everything defined in eVC is still defined in Studio. Also take note of any subsystem definition. Studio likes to forget to import that as well.

ctacke
I was afraid of that. ::sigh::Oh well, maybe I'll just put an XP image on my VMware workstation instead? Ah! That gives me an idea for another question to post.
Coderer