Jump to content
Josh

Upgrading 4.4 C++ projects to 4.5

Recommended Posts

In Visual Studio and Code::Blocks, remove all header search paths that contain "NewtonDynamics" and then add these search paths:

$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dMath
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dgNewton
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dContainers
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dgCore
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dgTimeTracker
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dgPhysics
$(LeadwerksHeaderPath)\Libraries\NewtonDynamics\sdk\dCustomJoints

Visual Studio Only

Add the following library linker dependencies for the debug build:

newton_d.lib
dContainers_d.lib
dCustomJoints_d.lib

And for the Release build:

newton.lib
dContainers.lib
dCustomJoints.lib

Visual Studio 2017 Updates

Once you have opened your project in Visual Studio 2017, you need to change two settings.  In Configuration Properties > General change the Windows SDK Version to 10.0.15063.0, and change Platform Toolset to Visual Studio 2017 (v141).  Do this for both Debug and Release configurations.

Linux Only

-D_GLIBCXX_USE_CXX11_ABI=1 i have this in CXXFLAGS, if this is 0 you get tons of error about abi. (thanks @aiaf )

  • Like 1
  • Thanks 2

Share this post


Link to post

Just noting for you that I had to replace ..\..\Source\ with $(LeadwerksHeaderPath)\

But also I'm confused as I have no Newton Dynamics directories in my libraries section ... so naturally my game compiles but I get a bad entry point error when I run it.

Share this post


Link to post

Updating to VS 2017 goes fine according to your instructions. Josh, now when you are at it, could you make the changes suggested below to get rid of warnings. A good project should compile without warning!

Release
cl : Command line warning D9030: '/Gm' is incompatible with multiprocessing; ignoring /MP switch
 Remove <MinimalRebuild>true</MinimalRebuild> from <CLCompile> section
-------------------------------------
LINK : /LTCG specified but no code generation required; remove /LTCG from the link command line to improve linker performance
 Add <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> to <LINK> section
-------------------------------------
Debug Working Directory is wrong.
Change $(SolutionDir)\..\..\..  to  $(SolutionDir)..\..
-------------------------------------
Debug
1>libcryptoMT.lib(aes_cbc.obj) : warning LNK4099: PDB 'ossl_static.pdb' was not found with 'libcryptoMT.lib(aes_cbc.obj)' ....
1>libcryptoMT.lib(aes_core.obj) : warning LNK4099: PDB 'ossl_static.pdb' was not found with 'libcryptoMT.lib(aes_core.obj)'....
...
...
etc ...
etc ...
 
  Add /ignore:4099 to <LINK> section, line <AdditionalOptions>
-------------------------------------
 
Debug Working Directory is wrong.
Change $(SolutionDir)\..\..\..  to  $(SolutionDir)..\..
-------------------------------------
 
Thanks
 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
On ‎12‎/‎17‎/‎2017 at 12:35 PM, Roland said:

Updating to VS 2017 goes fine according to your instructions. Josh, now when you are at it, could you make the changes suggested below to get rid of warnings. A good project should compile without warning!

Release
cl : Command line warning D9030: '/Gm' is incompatible with multiprocessing; ignoring /MP switch
 Remove <MinimalRebuild>true</MinimalRebuild> from <CLCompile> section
-------------------------------------
LINK : /LTCG specified but no code generation required; remove /LTCG from the link command line to improve linker performance
 Add <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> to <LINK> section
-------------------------------------
Debug Working Directory is wrong.
Change $(SolutionDir)\..\..\..  to  $(SolutionDir)..\..
-------------------------------------
Debug
1>libcryptoMT.lib(aes_cbc.obj) : warning LNK4099: PDB 'ossl_static.pdb' was not found with 'libcryptoMT.lib(aes_cbc.obj)' ....
1>libcryptoMT.lib(aes_core.obj) : warning LNK4099: PDB 'ossl_static.pdb' was not found with 'libcryptoMT.lib(aes_core.obj)'....
...
...
etc ...
etc ...
 
  Add /ignore:4099 to <LINK> section, line <AdditionalOptions>
-------------------------------------
 
Debug Working Directory is wrong.
Change $(SolutionDir)\..\..\..  to  $(SolutionDir)..\..
-------------------------------------
 
Thanks
 

 

I won't be making any changes right now since we are so close to release but I definitely will look into this after. Thanks!

  • Thanks 1

Share this post


Link to post

No, we have moved on to VS2017.

There MIGHT be a way to install the 2017 tools to work with 2015, but you're on your own there.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...