Sign in to follow this  
Cygon

Unity Visual Studio 2012 Express won't support Win32 Projects

Recommended Posts

Cygon    1219
If you followed Microsoft's recent plans or tried Windows 8 + Visual Studio 2012 yourself, you might have noticed already:

[b]Starting with Visual Studio 2012, Microsoft will no longer offer a free C++ compiler for traditional application development. The Express editions will build Metro applications only.[/b]

Visual Studio 2012 is pretty interesting because it includes C++11 thread support - something which I've been waiting for very much since it finally resolves the situation of having to decide between Boost.Threads, TBB or POCO for portable threading. Now Microsoft has put me in a situation where I either have to shell out $500 to get the Professional edition or drop Windows 7 and Windows XP from my target group. Dropping Windows 7 is out of the question, as I have no doubt that many people will not be switching to Windows 8 any time soon.

What will you do? $500 for the Professional edition may be a reasonable price, but it's also a significant hurdle to collaborating with the Open Source community. Staying with Visual C++ 2010 Express means little to no C++11 features. That leaves Eclipse CDT + MingW and Code::Blocks + MingW which I'm currently checking out.

Opinions?

I'm not sure anyone can sway Microsoft's from their current path, but I've opened a ticket on Microsoft Connect that you can vote on: [url="https://connect.microsoft.com/VisualStudio/feedback/details/746243/support-c-desktop-applications-in-visual-studio-2012-express"]Support C++ Desktop Applications in Visual Studio 2012 Express[/url]

Share this post


Link to post
Share on other sites
Radikalizm    4807
There was a thread on this exact issue in the lounge a couple of days ago:
[url="http://www.gamedev.net/topic/625210-visual-studio-11-express/"]http://www.gamedev.net/topic/625210-visual-studio-11-express/[/url]

It turned into a massive flame war though, so you might want to be careful asking for opinions about this

Share this post


Link to post
Share on other sites
Cygon    1219
Outch, I missed that. Thanks for the warning.

Let me formulate my question a bit tighter: [i]What are you going to do about Visual Studio 2012[i]? Buy[/i]? Stay with 2010? [i]Switch to Min[i]G[/i]W?[/i][/i]

Personally, I find Metro interesting, so I want my homebrew games to run on Metro, too. So I will be using Visual Studio 2012 Express for that. But dropping support for Windows 7 is out of the question, so I have to decide what to use as my main development environment. I'm currently undecided between staying with Visual C++ 2010 Express and using Boost.Threads (so no C++11 for me) or switching to MingW (which means getting used to a whole new IDE, but also brings me a bit closer to targeting Android, I believe). Edited by Cygon

Share this post


Link to post
Share on other sites
adeyblue    549
Unless they radically change what they ship in the release version of Express vs the RC that's currently downloadable, enabling the IDE to build non-metro native projects is [url="http://www.gamedev.net/blog/909/entry-2254695-native-only-apps-with-vs-express-for-win8/"]very simple.[/url]. Edited by adeyblue

Share this post


Link to post
Share on other sites
Cornstalks    7030
I'm a student, so if the past is any predictor of the future, I'll be using the 2012 Ultimate/Team edition for free. So personally, I'm not to worried about it.

Share this post


Link to post
Share on other sites
Cygon    1219
[quote name='adeyblue' timestamp='1338822429' post='4946133']
Unless they radically change what they ship in the release version of Express vs the RC that's currently downloadable, enabling the IDE to build non-metro native projects is [url="http://www.gamedev.net/blog/909/entry-2254695-native-only-apps-with-vs-express-for-win8/"]very simple.[/url].[/quote]

A-ha! Thank you for this little gem [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

If Visual C++ 2005 Express is any indication (you could compile to x64 by tricking the IDE, but in Visual C++ 2008 Express they blocked that hack completely) that means we're good for at least another 2-3 years. Edited by Cygon

Share this post


Link to post
Share on other sites
Amr0    2230
Umm... Visual C++ 2008 Express CAN compile to x64. I used it to compile the Maya plugin in my signature. I don't remember the procedure thought, but it was painless enough to be forgettable.

Share this post


Link to post
Share on other sites
Cygon    1219
Maybe I'm mixing something up here. I remember it being a hack at one time, then becoming impossible from within the IDE, then turning into a feature that's officially supported.

Share this post


Link to post
Share on other sites
CoffeeCoder    521
As long as VS 2010 is supported (and it is) and we can still use engines such as XNA (which you can for now), I won't bother with VS 2012 unless I want to design Metro apps.

Honestly I'm learning Java anyway instead of XNA since it might not survive. :(

Share this post


Link to post
Share on other sites
Aardvajk    13207
Most of the debate seems to center around the idea of choosing a platform upon which to start a new development. I'm more worried about the fact that we, for example, have a very large codebase that is based upon Qt. I appreciate that Windows 8 will still allow this application to be deployed but I'm reading speculation about Windows 9 not allowing such an application to run, irrespective of the tool chain we use to create it.

My concerns about VS 201* are non-existent. But could we be seriously looking at a situation in a few years time where ALL legacy codebases that are based on Win32 technology will require porting to Metro to be viable on the latest Windows platform?

Thoughts? Edited by Aardvajk

Share this post


Link to post
Share on other sites
Cygon    1219
@CoffeeCoder: Yep, it seems that, sadly, XNA has become a dead end. No Metro or DX11 support announced, Shawn Hargreaves switching to another department and ports like MonoGame still being miles away from being able to shoulder something like SunBurn.

I returned to C++ because of its rich offering of 3D engines, physics and sound libraries. While .NET was an excellent environment with very few quirks and portability issues, I always felt a bit shut out from the world of famous projects like Ogre 3D, Bullet, FreeSL, etc.

Why did you pick Java? Are there any good game development tools around? The only game I know that uses Java is Minecraft :) Edited by Cygon

Share this post


Link to post
Share on other sites
davepermen    1047
[quote name='Aardvajk' timestamp='1338878227' post='4946317']
Most of the debate seems to center around the idea of choosing a platform upon which to start a new development. I'm more worried about the fact that we, for example, have a very large codebase that is based upon Qt. I appreciate that Windows 8 will still allow this application to be deployed but I'm reading speculation about Windows 9 not allowing such an application to run, irrespective of the tool chain we use to create it.

My concerns about VS 201* are non-existent. But could we be seriously looking at a situation in a few years time where ALL legacy codebases that are based on Win32 technology will require porting to Metro to be viable on the latest Windows platform?

Thoughts?
[/quote]

while i haven't seen anything in that direction, obviously, metro/winrt is the future. they will expand on that to make it do everything that's needed over time (same thing happened on windows phone from 7 to 7.5, similar thing could be seen on ios). and yes, legacy will be exactly that: legacy. it will die out, get optional, and at some point, most likely be virtualized and "thrown away" in a virtual app. but slowly, as microsoft depends on that legacy.

as far as i've heard, more visual studio versions are on the way, so this might not be all there is, actually. for now, they just release what's really needed. RC for RC, kinda. we'll see.

but yes, .net and dx, i'll look into that for win8. slimdx ftw, i guess..

Share this post


Link to post
Share on other sites
Ripiz    539
[quote name='Cygon' timestamp='1338879279' post='4946318']
The only game I know that uses Java is Minecraft :)
[/quote]

Minecraft, Runescape, Spiral Knights, Drakensang Online, and some other which's names I cannot remember.

It should be possible to use Visual Studio IDE with MinGW compiler using custom build tool.

Share this post


Link to post
Share on other sites
CoffeeCoder    521
[quote name='Cygon' timestamp='1338879279' post='4946318']Why did you pick Java? Are there any good game development tools around? The only game I know that uses Java is Minecraft :)[/quote]

I picked Java because of its vast multi-platform support, and the fact that it's similar to C# which I've been (read: had been) studying for several months. Minecraft was proof to me that Java could be used to make a good, fast-running 3D game, so I looked up some game libraries and found the Lightweight Java Game Library (LWJGL), which is actually what Minecraft was produced with. It's very easy to pick up on and so far I am loving it!

Share this post


Link to post
Share on other sites
Cygon    1219
[quote name='davepermen' timestamp='1338889665' post='4946357']as far as i've heard, more visual studio versions are on the way, so this might not be all there is, actually. for now, they just release what's really needed. RC for RC, kinda. we'll see.[/quote]

The editions of Visual Studio 2012 that will be released have already been announced: [url="http://www.microsoft.com/visualstudio/11/en-us/products/compare"]Compare Editions[/url]. Even the estimated pricing has been revealed: [url="http://www.microsoft.com/visualstudio/11/en-us/products/pricing"]Pricing Preview[/url].
That their current plans for Express do not include desktop applications has been announced on the official Visual Studio blog: [url="http://blogs.msdn.com/b/visualstudio/archive/2012/05/18/a-look-ahead-at-the-visual-studio-11-product-lineup-and-platform-support.aspx"]A look ahead at the Visual Studio 11 product lineup and platform support[/url].

[quote name='Aardvajk' timestamp='1338878227' post='4946317']
My concerns about VS 201* are non-existent. But could we be seriously looking at a situation in a few years time where ALL legacy codebases that are based on Win32 technology will require porting to Metro to be viable on the latest Windows platform?

Thoughts?
[/quote]

They will have to carry the desktop around for the foreseeable future. Office 2012 is a desktop application, too. Even ARM will have the desktop available (in contrast to earlier rumors), it will just not include an x86 emulator, so applications would have to be recompiled to run on ARM.

If Microsoft stays its path, I'm concerned for hobby software development in the long term -- an IDE isn't a good match for a sandboxed Metro app, so might we be doing our future development in a thin client Metro app that accesses some development server rented to us by Microsoft?

For the short term, my concern is what effect this will have on C++11 adoption. Soon GCC 4.6 will enter stable Linux distributions and everyone will have a free C++11 compiler and C++11 standard C++ library. But cross platform projects cannot use it because the Windows mainstream compiler doesn't support C++11. That's worrying. Edited by Cygon

Share this post


Link to post
Share on other sites
wack    1358
[quote name='Cygon' timestamp='1338976935' post='4946701']
They will have to carry the desktop around for the foreseeable future. Office 2012 is a desktop application, too. Even ARM will have the desktop available (in contrast to earlier rumors), it will just not include an x86 emulator, so applications would have to be recompiled to run on ARM.
[/quote]

Note, however that it is of no use (unless something changed recently) to start porting your desktop apps to ARM.

All applications that are distributed for Windows 8/ARM will have to be distributed through their new app store - and the app store will not allow non-Metro apps.

Effectively, the only ones who will be able to distribute desktop apps for ARM are Microsoft themelves. Edited by wack

Share this post


Link to post
Share on other sites
Aardvajk    13207
[quote name='Cygon' timestamp='1338976935' post='4946701']
For the short term, my concern is what effect this will have on C++11 adoption. Soon GCC 4.6 will enter stable Linux distributions and everyone will have a free C++11 compiler and C++11 standard C++ library. But cross platform projects cannot use it because the Windows mainstream compiler doesn't support C++11. That's worrying.[/quote]

Interestingly, to me anyway, I'm currently developing a DirectX application using MinGW and happily linking to the standard DXSDK .lib files. Didn't know this was possible. But apparently is.

Now I know that I can use MinGW and QtCreator to develop all the same stuff I ever did with VS, I'm really not bothered by any of this on a personal level any more. I like VS Express but if it is going to become more restrictive then I'm quite happy to switch to free tools instead.

Share this post


Link to post
Share on other sites
davepermen    1047
[quote name='wack' timestamp='1338980627' post='4946719']
[quote name='Cygon' timestamp='1338976935' post='4946701']
They will have to carry the desktop around for the foreseeable future. Office 2012 is a desktop application, too. Even ARM will have the desktop available (in contrast to earlier rumors), it will just not include an x86 emulator, so applications would have to be recompiled to run on ARM.
[/quote]

Note, however that it is of no use (unless something changed recently) to start porting your desktop apps to ARM.

All applications that are distributed for Windows 8/ARM will have to be distributed through their new app store - and the app store will not allow non-Metro apps.

Effectively, the only ones who will be able to distribute desktop apps for ARM are Microsoft themelves.
[/quote]

and even they only do it because some of the devisions aren't ready yet (but hard working on it). metro will be all in the future. i don't think windows 9 arm will have a desktop anymore. windows 9 x86 will. but maybe even more virtualized away?

i'd like for win32 apps to be configured "single desktop per app", and the app maximized. that would allow them to behave very metro-ish. and each could have it's own sandbox to not mess with the rest.

Share this post


Link to post
Share on other sites
mdwh    1108
More info at [url="http://arstechnica.com/information-technology/2012/05/no-cost-desktop-software-development-is-dead-on-windows-8/"]http://arstechnica.c...d-on-windows-8/[/url] .

[quote name='Aardvajk' timestamp='1338878227' post='4946317']
Most of the debate seems to center around the idea of choosing a platform upon which to start a new development. I'm more worried about the fact that we, for example, have a very large codebase that is based upon Qt. I appreciate that Windows 8 will still allow this application to be deployed but I'm reading speculation about Windows 9 not allowing such an application to run, irrespective of the tool chain we use to create it.

My concerns about VS 201* are non-existent. But could we be seriously looking at a situation in a few years time where ALL legacy codebases that are based on Win32 technology will require porting to Metro to be viable on the latest Windows platform?

Thoughts?
[/quote]Conceivably Qt could be ported to WinRT/Metro, to make it easier? Indeed, that would be a nice thing anyway, to be able to use Qt to write Windows Metro software, assuming that's something that is conceivably allowed.

Even if MS really think that everyone should be using full screen touch-only Metro applications (do they? I've yet to see anything from MS on this) (which I think is a terrible idea - see the Lounge thread for my views on that), traditionally they have bent over backwards to maintain backwards compatibility. They know that they benefit from the long term app-lock in. It would seem commercial suicide for them to both (a) suggest that everyone move to an input method/device form where currently they have small market share, and (b) cut off all their backwards compatibility, slashing their app support.

Incidentally, it's yet to be clarified as to whether it's possible to write WinRT applications that run in windowed mode - or is WinRT only able to be used with Metro? In the Lounge thread, I heard claims both ways. The question is irrelevant to the issue of VS Express (since we know it's _Metro_ only), but it is relevant to the idea of WinRT being "the future" - is WinRT simply a Win32 replacement that can do both windowed and Metro appliations? Or is MS really saying the future is this Metro-only interface?

[quote name='Cygon' timestamp='1338976935' post='4946701']
They will have to carry the desktop around for the foreseeable future. Office 2012 is a desktop application, too. Even ARM will have the desktop available (in contrast to earlier rumors), it will just not include an x86 emulator, so applications would have to be recompiled to run on ARM.[/quote]This sounds promising - do you have a reference? (Note that the previous news I saw said that Office would be some kind of exception on ARM, so the ability to run it doesn't necessarily entail the ability to run ARM windowed apps in general - it would be good to have confirmation.)

[quote]If Microsoft stays its path, I'm concerned for hobby software development in the long term -- an IDE isn't a good match for a sandboxed Metro app, so might we be doing our future development in a thin client Metro app that accesses some development server rented to us by Microsoft?[/quote]*shudder* Indeed [img]http://www.gamedev.net/public/style_emoticons/default/sad.png[/img] Every time a programmer claims that Metro should be the only available future on Windows, I'm left thinking, so what am I going to be programming with?

[quote name='davepermen' timestamp='1339006540' post='4946824']
i'd like for win32 apps to be configured "single desktop per app", and the app maximized. that would allow them to behave very metro-ish. and each could have it's own sandbox to not mess with the rest.
[/quote]That would be interesting - would make the similarity to the old AmigaOS "screens" even more so :)

Still, there are times when one does want interaction between applications, which is why I think most workspace systems haven't been tied to one-screen-per-application. Edited by mdwh

Share this post


Link to post
Share on other sites
jakovo    476
Well, it looks that this is not going to be an "Express only" thing, I've downloaded Visual Studio Ultimate 2012 RC and it has no C++ support either, and i haven't found so far how to enable it or download the C++ part.

the weird thing is that a few weeks ago previews Visual Studio 11 Beta did had that C++ support (and it was quite fantastic to be honest).

Share this post


Link to post
Share on other sites
_the_phantom_    11250
I suspect you've done it wrong because I've got the VS2012 RC installed, and only the Professional Edition at that, and I've got access to a full group of C++ project options including Win32 and console applications.

Share this post


Link to post
Share on other sites
Cygon    1219
[size=5]We won! Microsoft has given in![/size]

Today, the Visual Studio blog announced that after disabling desktop application support in the Express editions since Visual Studio 11 Beta, the final Visual Studio 2012 Express release will be supporting desktop applications once again!

To add a little bit to the confusion, there will now be two Express editions. One will be Visual Studio 2012 Express, just as we know it today, the other will have the long-winded name [url="http://blogs.msdn.com/b/visualstudio/archive/2012/06/08/visual-studio-express-2012-for-windows-desktop.aspx"]Visual Studio 2012 Express for Windows Desktop[/url]. Edited by Cygon

Share this post


Link to post
Share on other sites
Cygon    1219
[quote name='???' timestamp='1339169378' post='4947395']
Well, it looks that this is not going to be an "Express only" thing, I've downloaded Visual Studio Ultimate 2012 RC and it has no C++ support either, and i haven't found so far how to enable it or download the C++ part.[/quote]

I've been doing all my (non-metro) C++ development for the previous week in Visual Studio 2012 Professional RC. It's all there, definitely.

Share this post


Link to post
Share on other sites
jwezorek    2663
[quote name='Cygon' timestamp='1339174860' post='4947414']
[size=5]We won! Microsoft has given in![/size]
[/quote]
Woah. No way!

I'd like to have been a fly-on-the-wall in Redmond for the discussions that led to this... Seriously, does anyone have any gossip?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this