# Visual Studio Express 2012 Yay

## Recommended Posts

popsoftheyear    2194
[quote name='tom_mai78101' timestamp='1349178952' post='4986031']
Now there's a pretty bad case of upgrading an old VS2008 project into VS2012.
[/quote]
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 [i]first[/i] error fixes many, many errors following it because they are actually a result of the first.

##### Share on other sites
tom_mai78101    693
[quote name='achild' timestamp='1349183202' post='4986042']
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?

[/quote]

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_IDirectMusicSegment8
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment8
1>CSegment.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment8
1>CAPathPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicGraph
1>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_DirectMusicSegment
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicLoader
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_DirectMusicAllTypes
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_StandardMIDIFile
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _GUID_DefaultGMCollection
1>CDLSLoader.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicLoader8
1>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_DirectMusicPerformance
1>CPerformance.obj : error LNK2001: unresolved external symbol _GUID_PerfMasterTempo
1>CPerformance.obj : error LNK2001: unresolved external symbol _GUID_PerfMasterVolume
1>CPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicPerformance8
1>CPerformance.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegmentState8
1>CSegment.obj : error LNK2001: unresolved external symbol _GUID_ConnectToDLSCollection
1>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

##### Share on other sites
popsoftheyear    2194
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.

 See your atl thread for the solution there.
[edit2] Not sure about direct music. At least it's just a link problem. Are you linking dxguid.lib ?? Edited by achild

##### Share on other sites
tom_mai78101    693
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.

##### Share on other sites
SiCrane    11839
[quote name='phantom' timestamp='1349126800' post='4985873']
I lack a link right now but there is a reg key you can set to fix the all caps menu items problem.
[/quote]
It's in a more than a couple places now, but here's [url=http://www.richard-banks.org/2012/06/how-to-prevent-visual-studio-2012-all.html]one place[/url].

##### Share on other sites
Amnesty2    203
For anyone that don't know, if you're a college student you can go to
dreamspark dot com and download the professional edition for free and skip the express all together.

##### Share on other sites
Amr0    2230
Regarding targeting XP, I've found this: [url="http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx"]Visual C++ Team Blog - Targeting Windows XP with C++ in Visual Studio 2012[/url]. I wonder if there has been any accomplishments in this area since the post was made, or what the current situation is.

##### Share on other sites
tstrimp    1798
[quote name='Xanather' timestamp='1348885417' post='4984934']
Hmm i would move to VS2012 if they simply integrate XNA 4.0 with it (which is clearly possible).
[/quote]

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 [url="http://monogame.codeplex.com/"]MonoGame[/url].

##### Share on other sites
Daaark    3553
[quote name='tom_mai78101' timestamp='1349023859' post='4985399']
This speaks volumes with my initial impression.

[img]http://i.imgur.com/Senvy.png[/img]
[/quote]I wish the Android SDK stuff installed this easy. *sigh* (although it probably is on Linux)

##### Share on other sites
tom_mai78101    693
[quote name='Daaark' timestamp='1349439966' post='4987090']I wish the Android SDK stuff installed this easy. *sigh* (although it probably is on Linux)
[/quote]

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

##### Share on other sites
Ryan_001    3475
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?

##### Share on other sites
EddieV223    1839
[quote name='Ryan_001' timestamp='1349489793' post='4987312']
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?
[/quote]

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.

##### Share on other sites
Cornstalks    7030
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.

##### Share on other sites
Ryan_001    3475
[quote name='EddieV223' timestamp='1349580354' post='4987573']
[quote name='Ryan_001' timestamp='1349489793' post='4987312']
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?
[/quote]

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.
[/quote]

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

##### Share on other sites
tanzanite7    1410
Screenshot share?

##### Share on other sites
EddieV223    1839
This is how I made mine, I took a lot of time and carefully crafted a color scheme

[URL=http://imageshack.us/photo/my-images/818/syntaxhighlight.png/][IMG]http://imageshack.us/a/img818/3978/syntaxhighlight.png[/IMG][/URL]

##### Share on other sites
tom_mai78101    693
Please teach me on what part of the text is what for the colors in the "Fonts and Colors", "Text Editor", list of fields there.

I wanted to make similar color schemes for VS2012, from my Eclipse. But I have trouble identifying many various terms used in that list in the vertical scrolling pane.

Eclipse:

[img]http://i.imgur.com/NC1sP.png[/img]

Update #2:

[s]Received feedback[/s] Saw this, and thought why they didn't do anything about it. :

[img]http://i.imgur.com/IxD9a.png[/img] Edited by tom_mai78101

##### Share on other sites
Ryan_001    3475
I posted a screenshot of what I came up with. I have a multi-monitor setup so the solution explorer, output, properties, ect... are on other monitors. That way I can have 2 code windows up on the same screen. Being able to see both the header and cpp file at the same time is really nice.

Also while playing around with the colors I made myself some notes. I'm not sure of the accuracy of them, or their conciseness, but I found they helped me when setting up my own custom color theme. I really think somewhere on MSDN they should explain not only all the items but also their relationship to one another. Anyways I pasted them in the quote below, the tabs didn't quite make the copy/past, but ah well...

[quote]In order of precedence (as you move down 'groups' each subsequent group will replace, or overwrite the previous ones)
Any time 'automatic' is used as a color, the color of the next lowest precedence is used.

[group 0, lowest precedence]:
Plain Text - default text when nothing else applies
- usually what is used when 'Automatic' is used

[group 1]:
Identifier - any name (variable, class, enum, label, typedef, template parameter, function parameter, ect...)
- the C++ specific ones take precedence
Keyword - any keyword in any language
Literal - any literal (include strings, numbers, headers, ect...)
Operator - punctuation, symbols, ect... (+, -, comma, braces, ect...)
Preprocessor Keyword - #include, #define, ect...

[group 2]:
Number - any number literal (5, 0.6f, ect...)
String - any string literal ("bob", includes headers like <iostream>)
URL Hyperlink - used when it detects a comment is a hyperlink

[group 3]:
C/C++ User Keywords - no idea
- the documentation seems to says its for macro's, but it doesn't seem to work
C++ Class Templates - the class name of a class which has templates
- example in: template <typename T> class Bob {}; - BOB would be the 'Class Template'
- does not apply to normal class names
- example in: class Bob2 {}; - Bob2 is NOT a 'Class template'
C++ Enumerators - the items within an enumeration
- example in: enum Bob { one, two }; - one and two are enumerators
C++ Events - not sure
C++ Fields - member variables
- example in: class Bob { int a,b; }; - a and b are fields
- does not apply to static member variables
- does not apply to member functions
C++ Function Templates - the function name of a function template
- example in: template <typename T> void Func () {} - the Func would be the 'Function Template'
- does not apply to normal function names
- does not apply to template member functions
C++ Functions - non-template function names
C++ Labels - goto/jump labels
C++ Local Variables - any variable defined within a function
- includes nested local variables (ie. variables defined inside a lmbda function)
C++ Macros - the name of a macro definitions
- example in: #define BOB - BOB would be the 'User Keyword'
- includes both normal macros and function macros
C++ Member Functions - member functions
- includes template member functions
C++ Namespaces - namespaces, nothing special here
C++ Parameters - function parameters
- does not apply to template parameters
C++ Properties - not a clue
C++ Static Fields - static member variables
C++ Static Member Functions - static member functions
C++ User Types - user defined types (not all)
- class names, typedef's, typename and class template parameters
- does not include template class definitions, but includes their usage
- does not include functions
C++ variables - global variables

[group 4]:
Highlight Current Line (Active) - colors background of current line, when editor has focus
Highlight Current Line (Inactive) - colors background of current line, when menus or other windows have focus

[group 5, higest precedence]:
Selected Text - background color of selected text
- doesn't seem to completely replace background, seems to 'tint' it in some cases, not sure how this works exactly
Brace Matching (Highlight) - doesn't seem to work
Brace Matching (Rectangle) - brace matching background color
- only applies to {} and () but not <>
Highlighter Reference - colors background of similar identifiers
Excluded Code - does nothing
- by default the editor will 'darken' the excluded code (make it look more like the background)
- changing this value seems to have no effect on the default action[/quote]

##### Share on other sites
tom_mai78101    693
Thanks to your notes, it has tremendously helped me.

Also, I would like to fill in a few blanks in your notes:

[quote]
C/C++ User Keywords - User defined words.

How to define them:
1. Create a blank text file.
2. Type any words you want to define.
Example:
Date
3. Save the blank text file as "usertype.dat".
4. Open Windows Explorer.
5. Navigate to "(Visual Studio Installation Directory)/Common7/IDE"
6. Place "usertype.dat" in there.
7. Restart Visual Studio IDE of your choice. (If not opened yet, run VS IDE.)
8. Type the words you have defined and you should see them highlighted. Syntax must be correct.

C++ Events -

Possibly this:
[url="http://msdn.microsoft.com/en-us/library/4b612y2s(v=vs.110).aspx"]http://msdn.microsoft.com/en-us/library/4b612y2s(v=vs.110).aspx[/url]

C++ Properties -

Possibly this:
[url="http://msdn.microsoft.com/en-us/library/yhfk0thd(v=vs.110).aspx"]http://msdn.microsoft.com/en-us/library/yhfk0thd(v=vs.110).aspx[/url]

Excluded Code - does nothing
- by default the editor will 'darken' the excluded code (make it look more like the background)
- To actually exclude inactive code:

1. In Visual Studio 2012, go to:
Tools -> Options -> Text Editor -> C/C++ -> Formatting
2. In the "Inactive Code" pane, change the "Inactive Code Opacity Percent" to your desired value.
3. Excluded codes will either disappear or reappear in the text editor.

[/quote]

##### Share on other sites
Ravyne    14300
[quote name='Amr0' timestamp='1349255199' post='4986323']
Regarding targeting XP, I've found this: [url="http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx"]Visual C++ Team Blog - Targeting Windows XP with C++ in Visual Studio 2012[/url]. I wonder if there has been any accomplishments in this area since the post was made, or what the current situation is.
[/quote]

There's a newer post about XP targetting here: [url="http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx"]CTP of Windows XP Targeting with C++ in Visual Studio 2012[/url]

##### Share on other sites
As a student at a University they automatically created me a nice Academic Institution Dreamspark Account. It's nice to be able get the professional edition and even upgrade the Windows OS for free. I right now love Visual Studio 2012. Though I haven't really done a big project with yet so I do not know how some of my libraries I have work with it yet.

##### Share on other sites
brx    720
[quote name='Ravyne' timestamp='1349981117' post='4989200']
There's a newer post about XP targetting here: [url="http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx"]CTP of Windows XP Targeting with C++ in Visual Studio 2012[/url]
[/quote]
Thanks alot for spotting this, I would have missed it. I still have to wait until I can convince my Boss that everybody should switch to VS2012 (which I am already using, I just switched the Platform Toolkit to 2009 - I love the new IDE!), since there are still major no-go's:
[quote]
If static analysis is required, we recommend that you switch the solution to the normal v110 toolset, execute static analysis, and then switch back to v110_xp.
[/quote]
Yeah, static analysis in non premium/ultimate editions are the main issue that help me selling VS2012 to the Boss. Yes, switching back and forth would be an option, but I want the static code analysis to run (incrementally) whenever somebody triggers a build. I know my fellow developers. They would not switch back and forth just to run the analysis... I also want the static code analysis to run on our build-bots (jenkins) for every build (i.e. whenever somebody pushes new code or a snapshot build is triggered).
[quote]
The Visual C++ 2012 Redistributables in “Microsoft Visual Studio 11.0\VC\redist\1033” have not been updated to include Windows XP support. For this preview release, please use static linking when targeting Windows XP or deploy the C++ runtime DLLs from “Microsoft Visual Studio 11.0\VC\redist\<architecture>” inside your executable’s installation folder.
[/quote]
That's an absolute no-go for shipping this to customer.

Also, this give the Qt developers the chance to update their code to comply with the VS2012 compiler... (it's not really Qt but Webkit that is acting up, though. If anyone's interested in the code to compile Qt 4.8.3 including Webkit with VS2012, PM me)

##### Share on other sites
Ravyne    14300
[quote name='brx' timestamp='1349987590' post='4989246']
[quote name='Ravyne' timestamp='1349981117' post='4989200']
There's a newer post about XP targetting here: [url="http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx"]CTP of Windows XP Targeting with C++ in Visual Studio 2012[/url]
[/quote]
Thanks alot for spotting this, I would have missed it. I still have to wait until I can convince my Boss that everybody should switch to VS2012 (which I am already using, I just switched the Platform Toolkit to 2009 - I love the new IDE!), since there are still major no-go's:
[quote]
If static analysis is required, we recommend that you switch the solution to the normal v110 toolset, execute static analysis, and then switch back to v110_xp.
[/quote]
Yeah, static analysis in non premium/ultimate editions are the main issue that help me selling VS2012 to the Boss. Yes, switching back and forth would be an option, but I want the static code analysis to run (incrementally) whenever somebody triggers a build. I know my fellow developers. They would not switch back and forth just to run the analysis... I also want the static code analysis to run on our build-bots (jenkins) for every build (i.e. whenever somebody pushes new code or a snapshot build is triggered).
[/quote]
I'm not certain that static analysis works incrementally or not, it would seem to me that even if code changes were localized, they'd still bubble up through the rest of the application. Unfortunately, because of the incompatibilities between the SAL annotations, it's something that will have to be lived with. In general, while such attention to detail is a virtue, it seems more practical to just perform static analysis on the build server. Large projects can take quite a long time to analyze, and the variety of settings and tuneings thereof is probably something to keep centralized.

It's been years since I've used their static analysis thought, so I might be out of date.

[quote][quote]
The Visual C++ 2012 Redistributables in “Microsoft Visual Studio 11.0\VC\redist\1033” have not been updated to include Windows XP support. For this preview release, please use static linking when targeting Windows XP or deploy the C++ runtime DLLs from “Microsoft Visual Studio 11.0\VC\redist\<architecture>” inside your executable’s installation folder.
[/quote]
That's an absolute no-go for shipping this to customer.
[/quote]
Remember that what's discussed in the blog is just a Technical Preview, so some work-arounds are to be expected. By the time this is shipping "for real" in VS2012 Update 1, the redistributable files will be updated appropriately.

##### Share on other sites
tom_mai78101    693
[quote name='Chad Smith' timestamp='1349982598' post='4989208'] It's nice to be able get the professional edition and even upgrade the Windows OS for free.
[/quote]

Like, how?

##### Share on other sites
Somehow I just can't come to terms with the new UI.

I mean, Microsoft has never been about visual design but this is just bad, MENU BAR, Y U SCREAM AT ME!?...

Guess I'll just have to adapt, will give it a few more tries.

## 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