Visual studio 2017


#1

Has anyone tried Cocos2dx with the new version of visual studio?


#2

It works just fine. I was told this by our engineering team.


#3

Cocos gen-libs don’t work with VS2017, please fix that


#4

hi all,
i cloned cocos2dx v3 branch from github , it’s ok in android and ios and windows32 , but there is a problem with windows10 build, here is the error i got when i try to build for windows10 apps :

Error (active)		identifier "FindFirstFile" is undefined	libcocos2d	e:\314Projects\testFrameWork\cocos2d\external\tinydir\tinydir.h	297	
Error	C3861	'FindFirstFile': identifier not found (compiling source file ..\..\platform\CCFileUtils.cpp)	libcocos2d	E:\314Projects\testFrameWork\cocos2d\external\tinydir\tinydir.h	297	
Error	LNK1181	cannot open input file 'E:\314Projects\testFrameWork\proj.win10\Debug\libcocos2d\libcocos2d_v3.15_Windows_10.0.lib'	testFrameWork	E:\314Projects\testFrameWork\proj.win10\App\LINK	1

#5

There was an issue I came across that’s likely due to old project template where there’s a duplicate MACRO error. It’s fixed by changing the hard-coded include directory (…/7.1/…) to a ${some_defined_macro_for_sdk_path}.

There’s a new /showInclude option that must be set by default or is enabled for some reason in a fairly recently created VMWare Fusion virtual machine w/newly installed 2017 from scratch that causes the builds to go slow.

Also it’d be great if stammer or another member with heavy VS knowledge could improve the builds for new features in 2017 that improve build times. Fast link, incremental builds, appropriate debug format, etc.
(edit: maybe the defaults are already great)

I’ll post any notes I have here as I get our game(s) and the cpp-test project up and running from a cocos create, cocos compile, cmake build as project folder, and build within VS itself.

I’ll probably reformat the virtual machine and try everything from scratch again.


#6

@stevetranby I’ve been trying to improve the last few days. Are incremental builds built into VS 2017 or were you talking integrating with incredi-build


#7

@slackmoehrle built-in. I’m no expert, just trying to keep up with the latest.

I’m sure every project has different pros/cons in terms of project changes to improve build efficiency. IncrediBuild is probably a smart solution as well and seems more integrated w/every version.

Pre-building the libraries as either dynamic .dll or static .lib is probably always the smart solution when dealing with slow build times. But I figure there are probably good and reasonable improvements to the default project template or maybe even the CMake project as well.

I’ve seen enable multi-core builds, fast link, use of diff debug formats, reduce/eliminate warnings, pre-compiled headers, use Ninja, etc.

Few Resources I’ve bookmarked:

As I’ve mentioned elsewhere I don’t really care about Windows and Visual Studio build times and efficiency since I personally develop and test iOS/Mac and sometimes Android during iterative development. However, I like to check things out during big changes such as VS2015, XBox full support, and now VS2017.

YMMV


#8

Helpful. Thank you.

My new Surface Book is keeping up like a champ.


#9

what version your talking about because the last time i tried it (3.14)… debugging was broken?

i know if you run the code it works fine with no problem … the real problem lies in debugging which acquire(vs2017 crashing) whenever you put a break point inside any cocos2d built in methods like for instance Node::getposition or any other code that comes with cocos2d then you get crashes.

i say it again debugging any code that i wrote is fine. the only code that causes problems is the one that i didn’t writ which comes already with cocos2d.

it’s a big shame to know that you can’t use it for actual development with all new features added.


#10

Here’s an overview post I’ve probably shared on another thread.
https://blogs.msdn.microsoft.com/vcblog/2016/10/26/recommendations-to-speed-c-builds-in-visual-studio/


#11

Please make your engineering team prepare a detailed how to debug for developers because debugging is brutally important for us.