• Create Account

## Visual Studio Express 2012 Yay

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

57 replies to this topic

### #21achild  Members

2194
Like
0Likes
Like

Posted 01 October 2012 - 07:05 AM

Well I've been messing with VS2012 in Windows 7 all weekend. My main project is officially upgraded and I really like it. (Still have the old project for XP builds for now though).
- Upgrading from 2008 project was absolutely painless. A couple issues like using std::set iterators as being mutable (oops), but these were very easy to fix.
- Auto-vectorization is nice and applies itself all over the place.
- Auto-parallelization (sp?) not so much - but its requirements are much stricter. To counter, there is a super quick and easy pragma that parallelizes (SP?) practically any loop without openmp
- Adding a 64-bit build was also quite painless

Also installed Windows 8 release preview (no msdn so no RTM here)
- Dual booting with Win7 no problem.
- Not intentionally going against the grain, but as an everything-OS, I actually like it a lot.
- Installed VS2012 RC (need Win8 RTM for the official release ) for Win8 Release Preview as well, and so far so good. It built me a demo D3D11 metro app out of the box no problem.

I honestly feel they've done a fantastic job so far.

Edited by achild, 01 October 2012 - 07:08 AM.

### #22Oberon_Command  Members

5387
Like
0Likes
Like

Posted 01 October 2012 - 02:08 PM

Why does the VS express registration system keep requiring me to provide my "business" contact info when I've explicitly told the form that I'm a student and therefore those fields are meaningless? MS didn't require that I provide this info previously, why do they suddenly require it now? Also, I think the UI is ugly from what I've seen. All caps text in the menu bar, really now? Even QBasic had lower case letters in its menu bars.

I think I'll stick to VS 2010 until the interface doesn't scorch my eyes and the registration system doesn't ask me questions that don't apply to me.

Edited by Oberon_Command, 01 October 2012 - 02:16 PM.

### #23phantom  Members

10766
Like
0Likes
Like

Posted 01 October 2012 - 03:26 PM

I lack a link right now but there is a reg key you can set to fix the all caps menu items problem.

### #24tanzanite7  Members

1410
Like
0Likes
Like

Posted 01 October 2012 - 03:43 PM

What is really a problem is that (until now) applications compiled with VS2012 do not run on WinXP! Yes... WinXP is old and should not be supported anymore. I agree with that.

I don't. But thanks for the informative link - good to know it might be possible to target XP in the future (required bottom line for me).

### #25asperatology  Members

687
Like
0Likes
Like

Posted 02 October 2012 - 05:55 AM

Now there's a pretty bad case of upgrading an old VS2008 project into VS2012.

I sense a magnificant bastard in me wanted to go look at all of the errors and just comment them out. I see errors, yet I do not know how to fix them.

Java has taken a big toll on my C++, then again, other than the basic C++ programming syntax, rememorizing the Standard Libraries is going to become a new daunting task for me.

### #26achild  Members

2194
Like
0Likes
Like

Posted 02 October 2012 - 07:06 AM

Now there's a pretty bad case of upgrading an old VS2008 project into VS2012.

The main ones I ran into were in regards to the c++ std lib. Mostly namespace issues since a lot of stuff moved from std::tr1 to just std. But I also had most of that typedef'd in a single file so it was very easy to fix the whole program. There's not really that many breaking changes - if you post a few of your errors maybe I or someone else can help and you'll see a pattern?

Don't forget most of the time fixing the first error fixes many, many errors following it because they are actually a result of the first.

### #27asperatology  Members

687
Like
0Likes
Like

Posted 02 October 2012 - 11:57 AM

The main ones I ran into were in regards to the c++ std lib. Mostly namespace issues since a lot of stuff moved from std::tr1 to just std. But I also had most of that typedef'd in a single file so it was very easy to fix the whole program. There's not really that many breaking changes - if you post a few of your errors maybe I or someone else can help and you'll see a pattern?

As you say, master.

[source lang="plain"]1>------ Build started: Project: VGMTrans, Configuration: Debug Win32 ------1>mainfrm.obj : error LNK2019: unresolved external symbol "long __cdecl ATL::AtlGetCommCtrlVersion(unsigned long *,unsigned long *)" (?AtlGetCommCtrlVersion@ATL@@YAJPAK0@Z) referenced in function "bool __cdecl WTL::RunTimeHelper::IsCommCtrl6(void)" (?IsCommCtrl6@RunTimeHelper@WTL@@YA_NXZ)1>C3DSegment.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment81>CDLSLoader.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment81>CSegment.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment81>CAPathPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicGraph1>CPortPerformance.obj : error LNK2019: unresolved external symbol _IID_IDirectMusicGraph referenced in function "public: long __thiscall directmidi::CPortPerformance::AddPortW(class directmidi::COutputPort &,unsigned long,unsigned long)" (?AddPortW@CPortPerformance@directmidi@@QAEJAAVCOutputPort@2@KK@Z)1>CDLSLoader.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicSegment1>CDLSLoader.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicLoader1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_DirectMusicAllTypes1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_StandardMIDIFile1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_DefaultGMCollection1>CDLSLoader.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicLoader81>CDMusicException.obj : error LNK2019: unresolved external symbol _DXGetErrorString9W@4 referenced in function "protected: void __thiscall directmidi::CDMusicException::ObtainErrorString(void)" (?ObtainErrorString@CDMusicException@directmidi@@IAEXXZ)1>CDMusicException.obj : error LNK2019: unresolved external symbol _DXGetErrorDescription9W@4 referenced in function "protected: void __thiscall directmidi::CDMusicException::ObtainErrorString(void)" (?ObtainErrorString@CDMusicException@directmidi@@IAEXXZ)1>CPerformance.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicPerformance1>CPerformance.obj : error LNK2001: unresolved external symbol _GUID_PerfMasterTempo1>CPerformance.obj : error LNK2001: unresolved external symbol _GUID_PerfMasterVolume1>CPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicPerformance81>CPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegmentState81>CSegment.obj : error LNK2001: unresolved external symbol _GUID_ConnectToDLSCollection1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)" (?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: __thiscall std::_Mutex::~_Mutex(void)" (??1_Mutex@std@@QAE@XZ) referenced in function "public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2001: unresolved external symbol "long const std::_BADOFF" (?_BADOFF@std@@3JB)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) referenced in function "public: __thiscall std::locale::locale(void)" (??0locale@std@@QAE@XZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: __thiscall std::_Mutex::_Mutex(void)" (??0_Mutex@std@@QAE@XZ) referenced in function "protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) referenced in function "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ) referenced in function "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) referenced in function "public: void __thiscall std::locale::facet::_Register(void)" (?_Register@facet@locale@std@@QAEXXZ)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z)1>tinyxmld_STL.lib(tinyxml.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) referenced in function "public: __thiscall std::_Locinfo::_Locinfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0_Locinfo@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)1>tinyxmld_STL.lib(tinyxmlparser.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?\$allocator@D@2@@2@@Z)1>.\Debug/VGMTrans.exe : fatal error LNK1120: 27 unresolved externals========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========[/source]

The very first LNK error happens to be a legacy breaking piece of code Microsoft did for the ATL. Apparently, one of a bigger (and complicated) project I have rely on this, so it's kind of hard to fix without knowing a lot of stuffs.

I think LNK errors and whatnots are the main reasons I became more biased with Java than C++ back in 2009 ~ 2010. I felt Java has just 1 centralized libary, instead of having so many different SDK with includes and libs.

Edited by tom_mai78101, 02 October 2012 - 12:01 PM.

### #28achild  Members

2194
Like
0Likes
Like

Posted 02 October 2012 - 12:21 PM

For tinyxml, the problem is probably that tinyxmld_STL.lib was built using VS2008. You need to rebuild the lib with 2012, or just add the cpp/h files to your project.

[edit2] Not sure about direct music. At least it's just a link problem. Are you linking dxguid.lib ??

Edited by achild, 02 October 2012 - 12:25 PM.

### #29asperatology  Members

687
Like
0Likes
Like

Posted 02 October 2012 - 12:28 PM

And yes, I was about to say that I had just started reading your post. So, this is what they meant by LIB files built with older compiler cannot work with newer compilers? I now have something to do.

### #30SiCrane  Moderators

11526
Like
1Likes
Like

Posted 02 October 2012 - 03:51 PM

I lack a link right now but there is a reg key you can set to fix the all caps menu items problem.

It's in a more than a couple places now, but here's one place.

### #31Amnesty2  Members

203
Like
0Likes
Like

Posted 03 October 2012 - 12:30 AM

For anyone that don't know, if you're a college student you can go to

### #32Amr0  Members

2094
Like
0Likes
Like

Posted 03 October 2012 - 03:06 AM

Regarding targeting XP, I've found this: Visual C++ Team Blog - Targeting Windows XP with C++ in Visual Studio 2012. I wonder if there has been any accomplishments in this area since the post was made, or what the current situation is.

### #33tstrimple  Prime Members

1798
Like
0Likes
Like

Posted 04 October 2012 - 03:32 PM

Hmm i would move to VS2012 if they simply integrate XNA 4.0 with it (which is clearly possible).

At this point I doubt the continued support of XNA. You cannot use it for metro apps. I'm busy porting my WP7 XNA game to Metro using MonoGame.

### #34MrDaaark  Members

3556
Like
0Likes
Like

Posted 05 October 2012 - 06:26 AM

This speaks volumes with my initial impression.

I wish the Android SDK stuff installed this easy. *sigh* (although it probably is on Linux)

### #35asperatology  Members

687
Like
0Likes
Like

Posted 05 October 2012 - 09:07 AM

I wish the Android SDK stuff installed this easy. *sigh* (although it probably is on Linux)

So true! I am already used to programming in Android, so the moment I saw this, I was like WOW...

### #36Ryan_001  Prime Members

3006
Like
0Likes
Like

Posted 05 October 2012 - 08:16 PM

So I've been trying to make a new color scheme for Visual Studio 2012 and while playing around came across 'Display Items' under the Options/Fonts and Colors/Text Editor menu that have eluded me. Anyone have any idea what "C++ User Types (Generic)", "C++ User Types (Reference Types)", and "C++ User Types (Value Types)" are referring to? The "C++ User Types" sets the color of any user defined type (class, struct, typedef, typename parameter, ect...). The other 3 seem, as far as I can tell, to do nothing. I'm also not sure how to color non-type template parameters, as well as I'm not sure what "C++ Properties" is referring to either. Anyone have any ideas?

### #37EddieV223  Members

1827
Like
0Likes
Like

Posted 06 October 2012 - 09:25 PM

So I've been trying to make a new color scheme for Visual Studio 2012 and while playing around came across 'Display Items' under the Options/Fonts and Colors/Text Editor menu that have eluded me. Anyone have any idea what "C++ User Types (Generic)", "C++ User Types (Reference Types)", and "C++ User Types (Value Types)" are referring to? The "C++ User Types" sets the color of any user defined type (class, struct, typedef, typename parameter, ect...). The other 3 seem, as far as I can tell, to do nothing. I'm also not sure how to color non-type template parameters, as well as I'm not sure what "C++ Properties" is referring to either. Anyone have any ideas?

Value and Reference are c++ managed .net types. And yep you stumbled on a well kept secret, there's far more syntax color highlighting option in there, they just default to regular black.

I think the best thing about it other than the syntax highlighting, and c++11, is that the single express IDE supports the 3 main languages, c++, c# and basic.

If this post or signature was helpful and/or constructive please give rep.

// C++ Video tutorials

// Easy to learn 2D Game Library c++

SFML2.2 Tutorials http://www.sfml-dev.org/tutorials/2.2/

// Excellent 2d physics library Box2D

// SFML 2 book

### #38Cornstalks  Members

7026
Like
0Likes
Like

Posted 08 October 2012 - 07:59 PM

Does anyone else hate the new icons for Visual Studio 2012? They hurt my eyes. Overall, Visual Studio 2012 seems decent, but I shouldn't have upgraded yet because I depend on Qt, which doesn't quite yet fully support VS2012.
[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

### #39Ryan_001  Prime Members

3006
Like
0Likes
Like

Posted 08 October 2012 - 08:32 PM

So I've been trying to make a new color scheme for Visual Studio 2012 and while playing around came across 'Display Items' under the Options/Fonts and Colors/Text Editor menu that have eluded me. Anyone have any idea what "C++ User Types (Generic)", "C++ User Types (Reference Types)", and "C++ User Types (Value Types)" are referring to? The "C++ User Types" sets the color of any user defined type (class, struct, typedef, typename parameter, ect...). The other 3 seem, as far as I can tell, to do nothing. I'm also not sure how to color non-type template parameters, as well as I'm not sure what "C++ Properties" is referring to either. Anyone have any ideas?

Value and Reference are c++ managed .net types. And yep you stumbled on a well kept secret, there's far more syntax color highlighting option in there, they just default to regular black.

I think the best thing about it other than the syntax highlighting, and c++11, is that the single express IDE supports the 3 main languages, c++, c# and basic.

I see. I do like the amount of configuration to the syntax coloring they added. I just wish they had a document somewhere where they described in detail each of the elements, and their relationship/precedence to other elements. Ahh well, after a couple of days of fooling around I put together a nice color theme

### #40tanzanite7  Members

1410
Like
0Likes
Like

Posted 09 October 2012 - 02:26 PM

Screenshot share?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.