Visual Studio 2015 released

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Visual Studio 2015 released

Post by Kojack »

Final release is out. Community edition is available at https://www.visualstudio.com/en-us/down ... io-vs.aspx

It's odd looking at the optional feature selection in the installer and seeing things like Android sdk and git integration.
Git used to be very windows unfriendly, I wonder how Linus feels about visual studio including it. :)

A note from the download page: "This release does not support developing for Windows 10 until July 29. Continue to use Visual Studio 2015 RC until July 29 if you are developing Universal Windows apps."
I guess that means win10 dev unlocks in 8 days, hopefully not needing a new download.

Some features:
- unity integration, can build unity projects, do debugging and even have a shared error list between vs and unity
- c# app dev for ios and android. c++ for android native
- python support
- node.js
- command line git and git plugin
- unlimited git repos on visual studio online
- bunch of other stuff
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Visual Studio 2015 released

Post by Klaim »

I've been using the RC for some time but mostly with Unity (for some quick small projects), the plugin works well.
There were a few bugs but being able to debug unity code into visual studio is very useful.

For C++ I compiled/fixed all my game project with it but didn't want to spend time on boost so I didn't experiment much yet.
I should point that even if Ogre code compiled last time I tried, the dependencies does not. I was waiting for the RTM before making a PR.

By the way, the most interesting news is actually that some companies said it's one of the most stable+correct vc compiler since forever,
which is good, and the bug fix logs are very very very scary so that's impressive:

http://blogs.msdn.com/b/vcblog/archive/ ... art-2.aspx
http://blogs.msdn.com/b/vcblog/archive/ ... s2015.aspx

Some stuffs in there are very very wrong.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Visual Studio 2015 released

Post by Kojack »

I just did a quick test with ogre, all the dependencies compile fine except for Freeimage which is failing inside of stdio.h.
But freeimage is pretty important.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Visual Studio 2015 released

Post by Klaim »

Yes, the patch would imply to remove this code with vc14+:

Code: Select all

#ifdef _WIN32
#define snprintf _snprintf
#define lfind _lfind
#endif // _WIN32
(in tif_config.h)
I did it before and everything compiles fine once it's removed (adding a check on vc version would be great).

Unfortunately I couldn't run the sample tests so I don't have any idea if there would be an impact on runtime.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Visual Studio 2015 released

Post by Kojack »

One minor annoyance: 2015 has the same icon as 2013. Every visual studio from 2008 to 2013 has a different icon. Now it's doubled up. On my quick launch bar I've got two identical icons in a row.
(First world problems)

The snprintf thing is interesting.

snprintf is part of the C99 standard, which Visual Studio doesn't completely follow.
Prior to 2015, VS didn't have snprintf, It instead has _snprintf. Now in 2015 it has both.
Freeimage, ogre's gl3plus renderer and others did a macro that assigns snprintf to _snprintf on VS. That's actually quite wrong to do, the return values are not the same! If the string doesn't fit in the buffer, snprintf returns the total required length of the string, while _snprintf returns a negative error code. You can use the total length to precalculate how much space an expanded string will take before writing it into memory (by calling snprintf with a 0 length).
In 2015's stdio.h, it now detects the use of a macro snprintf and triggers a compiler error message. Which is valid, the macro is a bad solution to the problem (due to differing return values).

Is it VS's fault for not fully meeting C99? Is it Freeimage's fault for a bad macro workaround? Is it VS's fault for explicitly throwing an error instead of just ignoring the macro?
Well, probably yes to all. :)
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

right click shortcut -> change icon :)
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Visual Studio 2015 released

Post by Kojack »

Zonder wrote:right click shortcut -> change icon :)
But that means I've got to actually do something. I prefer the "MS did it for me" version. :)

I just got Ogre 2.1 running with 2015. I had to disable the DX11 renderer though.
It seems the Windows 10 platform sdk (which is what 2015 uses) doesn't include any directx, so D3D_FEATURE_LEVEL_11_1 is missing. It tries to fall back on the june 2010 dx sdk, but that didn't know about D3D_FEATURE_LEVEL_11_1 (it only goes up to D3D_FEATURE_LEVEL_11_0 or so).
VS2013 works fine because it uses the Windows 8.1 platform sdk which includes directx.

I guess the directx stuff is moved out again for dx12? I haven't looked (yet).
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

Kojack wrote:
Zonder wrote:right click shortcut -> change icon :)
But that means I've got to actually do something. I prefer the "MS did it for me" version. :)
Completely agree not sure why they didn't, even just changing the colour.
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Visual Studio 2015 released

Post by Klaim »

Zonder wrote:
Kojack wrote:
Zonder wrote:right click shortcut -> change icon :)
But that means I've got to actually do something. I prefer the "MS did it for me" version. :)
Completely agree not sure why they didn't, even just changing the colour.
My suspicion is that they want to follow the same logic as with Windows: provide a "continuous" service instead of regular big versions.
From the articles and comments I linked before, they plan to provide updates faster than before and with more improvements to the compiler than before.
That would explain the icon: one icon to rule them a...no wait, I mean one icon to represent the "service".
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

well I got it installed didn't use the it in beta and ... what changed lol all looks the same :)

I know of course internals have compilers frameworks etc. But looks like the IDE only got minimal changes in this version.
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Visual Studio 2015 released

Post by Klaim »

Zonder wrote:well I got it installed didn't use the it in beta and ... what changed lol all looks the same :)

I know of course internals have compilers frameworks etc. But looks like the IDE only got minimal changes in this version.
The main IDE change is that it's a bit more responsive and so far didn't totally block for a minute like VS2013, but wait for more xp...
For other changes, see the links I provided before.
User avatar
Mind Calamity
Ogre Magi
Posts: 1255
Joined: Sat Dec 25, 2010 2:55 pm
Location: Macedonia
x 81

Re: Visual Studio 2015 released

Post by Mind Calamity »

Lots of new stuff in this Visual Studio, just that installing it broke OGRE (D3D11 won't compile due to the feature level thing).

Is the team aware of this or should I post in the developer/2.0 forum ?
BitBucket username changed to iboshkov (from MindCalamity)
Do you need help? What have you tried?
- xavier
---------------------
HkOgre - a Havok Integration for OGRE | Simple SSAO | My Blog | My YouTube | My DeviantArt
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: Visual Studio 2015 released

Post by Kojack »

The dx11 thing may be because while VS2015 is officially out, windows 10 isn't and the platform sdk is only a preview version. So the final one with everything we need may come out on the 29th. Otherwise opengl3+ works.
kiske
Greenskin
Posts: 106
Joined: Wed Jul 09, 2003 1:15 pm
Location: Trentino - ITALY
x 1

Re: Visual Studio 2015 released

Post by kiske »

Hi, I'm trying to compile 1.9 with VS2015, and the only problem I've came after is linking D3D9 RenderSystem. As it builds against the old DX SDK due to D3DX and DXERR, I've installed the June 2010 SDK, now the render system compiles, but when linking I get:

Code: Select all

error LNK2019: unresolved external symbol __vsnprintf referenced in function "long __stdcall StringVPrintfWorkerA(char *,unsigned int,unsigned int *,char const *,char *)" (?StringVPrintfWorkerA@@YGJPADIPAIPBD0@Z)
wich should be related to dxerr, wich should be used only for DXGetErrorDescription(). Is there any simple workaround?
<Kiske>

Well can you blame us? For living our dreams...
- Twisted Sister -
phobossion
Halfling
Posts: 45
Joined: Wed Jul 24, 2013 9:50 am
x 3

Re: Visual Studio 2015 released

Post by phobossion »

Out of curiosity - was any of you guys able to build the dependencies in Debug configuration? My compilation fails for SDL2 with ~10 unresolved externals, all from the CRT library. Release builds fine though, so I am using that in the meantime... Just curious if someone was able to work around this issue.

Also, is anyone working on the D3D11 support? From a quick look into "FindDirectX11.cmake" it seems the fix should be quite trivial. I can contribute it, but I am pretty sure someone else is doing it already, right?
Pellaeon
Goblin
Posts: 230
Joined: Thu Apr 28, 2011 12:23 pm
x 28

Re: Visual Studio 2015 released

Post by Pellaeon »

kiske wrote:Hi, I'm trying to compile 1.9 with VS2015, and the only problem I've came after is linking D3D9 RenderSystem. As it builds against the old DX SDK due to D3DX and DXERR, I've installed the June 2010 SDK, now the render system compiles, but when linking I get:

Code: Select all

error LNK2019: unresolved external symbol __vsnprintf referenced in function "long __stdcall StringVPrintfWorkerA(char *,unsigned int,unsigned int *,char const *,char *)" (?StringVPrintfWorkerA@@YGJPADIPAIPBD0@Z)
wich should be related to dxerr, wich should be used only for DXGetErrorDescription(). Is there any simple workaround?
I've got the same trouble. After a little bit searching I found this answer: http://stackoverflow.com/questions/3105 ... -dxerr-lib:
MuertoExcobito wrote:Unfortunately, dxerr.lib (along with d3dx11.lib) have been deprecated. You have two options - you can switch back to VS2013 or you can stop using functionality from dxerr.lib.
So to run the DirectX9 renderer the plugin must be adpoted, all DxErr dependencies must be eliminated.


Best regards

Marco
Etty
Kobold
Posts: 36
Joined: Fri Mar 15, 2013 11:09 am
Location: Belgium
x 3

Re: Visual Studio 2015 released

Post by Etty »

phobossion wrote:Out of curiosity - was any of you guys able to build the dependencies in Debug configuration? My compilation fails for SDL2 with ~10 unresolved externals, all from the CRT library. Release builds fine though, so I am using that in the meantime... Just curious if someone was able to work around this issue.

Also, is anyone working on the D3D11 support? From a quick look into "FindDirectX11.cmake" it seems the fix should be quite trivial. I can contribute it, but I am pretty sure someone else is doing it already, right?
Yeah this happened to me when I tried to build SDL2 along with the other dependencies.
Disable SDL2 in Cmake when generating the dependencies and built it separately using the provided solution in the VisualC folder of SDL2.

When configuring Ogre in Cmake I used the setup :

Code: Select all

SDL2MAIN_LIBRARY ..\SDL2\VisualC\Win32\Debug\SDL2main.lib
SD2_INCLUDE_DIR ..\SDL2\include
SDL2_LIBRARY_TEMP ..\SDL2\VisualC\Win32\Debug\SDL2.lib
Credit to dark_sylinc for this post.
And for more info about building SDL2 with VS you can also read the VisualC.html in the SDL2 folder.
User avatar
areay
Bugbear
Posts: 819
Joined: Wed May 05, 2010 4:59 am
Location: Auckland, NZ
x 69

Re: Visual Studio 2015 released

Post by areay »

Kojack wrote: Freeimage, ogre's gl3plus renderer and others did a macro that assigns snprintf to _snprintf on VS. That's actually quite wrong to do
Who woulda thunk that invading the compiler's namespace would cause problems!?
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

Been using 2015 for the last week and my first impressions are not good. IDE locks up a lot and crashes several times an hour. This is on my work machine so it's all c# and web development. Hope the C++ side is more stable :(
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Visual Studio 2015 released

Post by Herb »

@Zonder - Well, that's not a good sign... Microsoft tends to only have a good release every 2-3 major revisions. Sounds like sticking with 2013 is the right thing to do for the moment. :) Really, the main reason I would want to upgrade is for any compiling efficiency (both compile time and runtime). Haven't seen benchmarks on those yet, but I "hear" 2015 is suppose to be a much improved compiler over older Microsoft ones.
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

Well as I said this is all web development c++ side might be fine, I should really attach a debugger (not vs2015!) and see if I can any hints.

I did have the preview on my machine so I am wondering if something failed to update properly.
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Daixiwen
Greenskin
Posts: 105
Joined: Fri Feb 08, 2013 11:30 am
Location: Oslo
x 16

Re: Visual Studio 2015 released

Post by Daixiwen »

I reinstalled Windows on my PC last week and it's getting harder to download and install earlier versions of Visual Studio. I tried directly on Microsoft's web site but couldn't find anything else than 2015 (do you need to be MSDN subscriber for that?). Fortunately I found a direct link by searching from duckduckgo.
Oh boy... that was one of the reasons why I hesitated switching from mingw to VS, now I'm starting to wonder again.... I think that when clang is really stable on Windows I'll seriously consider switching again.
Hardware, n.: part of the computer you can kick
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: Visual Studio 2015 released

Post by Zonder »

Ran an update today for TypeScript today and my crashes seem to have stopped.
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
EricB
Bronze Sponsor
Bronze Sponsor
Posts: 360
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 213
Contact:

Re: Visual Studio 2015 released

Post by EricB »

Herb wrote: Haven't seen benchmarks on those yet, but I "hear" 2015 is suppose to be a much improved compiler over older Microsoft ones.
I was just about to ask this. Has anyone found any runtime benchmarks for 2015?

I'm still using vs2005 for my windows IDE. I'll probably update to something more modern for the final optimized compile of my project... It's just a question of if it's really worth it to port all the code over. ;)
Image
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Visual Studio 2015 released

Post by Herb »

@bronzebeard - I'm in awe that you still run 2005... :D I didn't even know you could install / run that in win7 anymore.
Post Reply