VS2010 build

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

VS2010 build

Postby thedmd » Tue Jun 15, 2010 4:48 pm

Hello,

Are there any chances for VS2010 build in next release?
thedmd
 

Re: VS2010 build

Postby Julio Jerez » Tue Jun 15, 2010 5:01 pm

not, I was trying VS2010 refactoring feature when it was beta, and I run in lots of problems. So I stop using it until it becomes final.
for what I saw 2010 does not really add any sustancial difference compared to 2005 and 2008, and at $800.00 I may skip 2010
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: VS2010 build

Postby thedmd » Tue Jun 15, 2010 6:05 pm

Beta was crappy, I agree. Even know I don't trust any refactoring tool.

You don't need to ow VS. VC++2010 Express should be enough to prepare build. As far as I know license allow to distribute compiled code without problems. If you are using CMake procedure it is even easier, because you don't have to switch your favorite IDE.

VC2010 removes need for side-by-side assemblies. You can compile final executable an run it as is, without need to install vcredist on target machine. I tested that fact on virtual machine. This is actually most important feature of VC++ 2010 for me. Beside of that, compiler was optimized which also may count for you.

If you have more important matters, just leave it as it is now. I can use dll version of Newton for now.
thedmd
 

Re: VS2010 build

Postby Stucuk » Tue Jun 15, 2010 7:24 pm

thedmd wrote:You can compile final executable an run it as is, without need to install vcredist on target machine.


Took them long enough. It was only a good idea when 56k and floppy drives were the norm which was a long time ago (You only generally save a few hundred KB with re-distributables, at least with other languages).

P.S Im assuming it would now compile everything into the EXE thats needed.
User avatar
Stucuk
 
Posts: 801
Joined: Sat Mar 12, 2005 3:54 pm
Location: Scotland

Re: VS2010 build

Postby thedmd » Tue Jun 15, 2010 7:54 pm

Well. Occupied place is no longer the issue.

Single executable have one advantage: you don't need anything else. Which is perfect for casual games.
thedmd
 

Re: VS2010 build

Postby Julio Jerez » Tue Jun 15, 2010 7:57 pm

But Newton also comes in static lib form that you can link to your exe.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: VS2010 build

Postby Stucuk » Tue Jun 15, 2010 8:28 pm

thedmd wrote:Single executable have one advantage: you don't need anything else. Which is perfect for casual games.


Its perfect for everything. I hate how you download an application which may be say 5MB(Including all files that go with it) and then you find out it won't work as it then requires you to download say 2009's redistribute which is say 50MB-150MB. Just so the file size of the exe can be 400KB smaller.
User avatar
Stucuk
 
Posts: 801
Joined: Sat Mar 12, 2005 3:54 pm
Location: Scotland

Re: VS2010 build

Postby thedmd » Wed Jun 16, 2010 5:08 am

Julio Jerez wrote:But Newton also comes in static lib form that you can link to your exe.

Yes. But I cannot link static library compiled with for example VC++2008 to executable compiled with VC++2010. Static library is just a bunch of *.obj files placed in single file (not entirely true, but this is a very good lie [see: Terry Pratchett, Thief of Time]). Version of compiled files has to match, mixing those is not possible (this also apply for other compilers).

Stucuk wrote:
thedmd wrote:Single executable have one advantage: you don't need anything else. Which is perfect for casual games.


Its perfect for everything. I hate how you download an application which may be say 5MB(Including all files that go with it) and then you find out it won't work as it then requires you to download say 2009's redistribute which is say 50MB-150MB. Just so the file size of the exe can be 400KB smaller.

vcredist is not that big, but it is not less annoying. For example, every published redist, for every VS have same name, so one way do distinguish which version it is, is installation.

I don't like the idea of searching for missing dependencies. Game publishers too. They don't really care much, about those and they don't like to use installers. They want to simply unzip archive and run the game. If they get a message about missing run-time library, blame goes to where? Of course to developers.

Single executable have yet another advantage. Your game may be (relatively) easily ported to consoles. Some of those don't have any support for shared libraries.
thedmd
 

Re: VS2010 build

Postby Julio Jerez » Wed Jun 16, 2010 8:34 am

thedmd wrote:
Julio Jerez wrote:But Newton also comes in static lib form that you can link to your exe.

Yes. But I cannot link static library compiled with for example VC++2008 to executable compiled with VC++2010. Static library is just a bunch of *.obj files placed in single file (not entirely true, but this is a very good lie [see: Terry Pratchett, Thief of Time]). Version of compiled files has to match, mixing those is not possible (this also apply for other compilers).

is that so? I did not know that, I can link libraries build with VS2003 in projects build with VS2005 and VS2008
I do not know why doing the same for VS 2010 will be diffenct, as far as I know the objec code format has not changed in VS.
also as I undertand the redistribution in for DLL runtime. Newton DLL do no need redistributions or installation, the will work on VS6, VS2002, VS2003, VS2005, VS2008 and I am guessing the will also work with VS2010
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: VS2010 build

Postby thedmd » Wed Jun 16, 2010 10:33 am

I also can link shared version of newton using any VS version.

If you try for example to link newton-static-vc9-mt.lib with version different than VC++2008 this will fail. Note that my application also use /MT switch. In result I got error about double defined functions: one from libcmt.lib vc9, one from libcmt.lib vc10/vc8.

Well, I can always try to split newton.lib to obj files and then join them using different version of linker. ; )
thedmd
 

Re: VS2010 build

Postby Julio Jerez » Wed Jun 16, 2010 11:37 am

This is why I like mt libraries, the make bigger EXE but the are self contained and run on any version of windows.
while the md, will link to the version of the run time you have in your system but they required intaller to install a runtime.

has you tried the lib_vs9_md or lib_vs7_md

mt are good for end casual users hwo do no wnat to install, but not good for develeopers
md are good for developers but the end user will have to run intaller.
I guess you wnat and mt that is good for developers so that he can make apps for end user that do not require installation.

I see what you mean, I did not know that was a VS2010 new feature.
I have not seem that myself since I never build an vs2010 like that, but I do not knaw why this do not happens with VS 2005/VS2008

when I am more anvace on what I am doing now, I will try experimeting again with Vs2010.
It will not be for next version or next next, because that stuff takes lot of time that is not really productive, and I am working of few things now.

BTW was vs2010 release yet or it is still beta?
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: VS2010 build

Postby thedmd » Wed Jun 16, 2010 12:37 pm

Julio Jerez wrote:has you tried the lib_vs9_md or lib_vs7_md

I had tried only MT and shared version for vs9. I will try those with VC++ 2010, but finally I think I will stay with VC++ 2008.

Julio Jerez wrote:I guess you wnat and mt that is good for developers so that he can make apps for end user that do not require installation.

Yes, I don't like installers much. They are acceptable for published games, but for personal use I prefer simple archives.

Julio Jerez wrote:I see what you mean, I did not know that was a VS2010 new feature.
I have not seem that myself since I never build an vs2010 like that, but I do not knaw why this do not happens with VS 2005/VS2008

I have to correct myself. VC2010 remove requirement for embedding manifest in application. If I compile everything for VC2008 with /MT switch I should also get independent executable. This is something I should try. Usually I our projects use /MD switch (just because it is default one).

Julio Jerez wrote:when I am more anvace on what I am doing now, I will try experimeting again with Vs2010.
It will not be for next version or next next, because that stuff takes lot of time that is not really productive, and I am working of few things now.

No rush. I think it is better if you can focus on Newton. Maybe you can get some help with preparing builds? I mean preparing build environment for your sources. This can be done by someone else (Newton source code is not required to do that, placeholders can be used instead).

Julio Jerez wrote:BTW was vs2010 release yet or it is still beta?

It is released now.
thedmd
 


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests

cron