Jump to content
  • entries
    941
  • comments
    5,894
  • views
    866,356

Building Deployable Projects


Josh

3,094 views

 Share

It's quite a challenge to get something semi-deployable to work on four platforms. I never intended to become an expert on the subject, but here are some of the interesting things I have picked up recently.

 

Code generation mode in Visual Studio

By default, Visual Studio builds programs in debug mode that won't run on consumer's machines. Fix it by changing the code generation mode:

http://www.leadwerks...grams-cant-run/

 

Static Libraries in Xcode

Xcode has no "exclude from build" option. If you include a debug and release static library with the same name, the compiler will choose either one or the other, and cause errors in one build. The way around this is to set both to "Optional" in the "Build Phases" project settings.

https://devforums.ap...170482?tstart=0

 

Android NDK Path

To relocate a project, you have to alter the NDK Builder setting "Project_Path". The NDK settings are hidden away pretty well in the Project>Android settings.

 

And slightly unrelated, but equally maddening...

 

Polled Input + Notifications on OSX in BlitzMax = death

http://blitzmax.com/...php?topic=99043

 Share

9 Comments


Recommended Comments

I can probably work around that for Lua but to actually publish anything, I think a Mac is needed to sign the code. Unless you publish through someone else's account.

Link to comment
By default, Visual Studio builds programs in debug mode that won't run on consumer's machines.

By default VS builds programs in debug mode, yes. They will run on other peoples machines if you deploy the debug libs too but MS never intended people to do so; which is why the debug libs are not included in the redistributable.

 

Why would you want to deploy a debug version to the consumer which is far bigger and potentially slower, you'd surely build a release version!

  • Upvote 1
Link to comment

Many users don't even want to install the VS redistributable. I have some friends who refuse to install it. In that case you can still create a folder and include the VS redistributable as pre-packaged with your game, so there is no need to install it. Which is much cleaner IMHO, since it doesn't clutter your registry settings and program list. Even better is of course to use MinGW and create a single exe game, which is not possible with VS (it was only possible in VS6).

Link to comment

By default VS builds programs in debug mode, yes. They will run on other peoples machines if you deploy the debug libs too but MS never intended people to do so; which is why the debug libs are not included in the redistributable.

 

Why would you want to deploy a debug version to the consumer which is far bigger and potentially slower, you'd surely build a release version!

I deploy debug versions in Leadwerks 3 for the Lua debugger to work.

Link to comment

@Metatron I just include the redistrib DLL's in the same directory as the exe. It's like 3 dll's. Maybe someone could explain the downside to doing it this way but it seems far easier, faster, and less intrusive to the user.

Link to comment

I deploy debug versions in Leadwerks 3 for the Lua debugger to work.

Ah ok, that bit of information makes all the difference. Static linking would appear to make sense under this situation as the users are almost certain to not have the required libs and installing the debug libs as DLLs would serve no other useful purpose.

 

With regard to your comment Rick, that's perfectly acceptable. Basically it should always be the applications responsibility to install the runtime libs, either by simply including them, as in your suggestion, or by running an installer (often done silently). The only downside that I can see with your approach is you might simply end up duplicating the run time libs on the users system; but that's not really a big issue.

Link to comment
often done silently

 

I hate that almost every game I install from steam installs the runtimes via installer. It takes an extra 5+ mins to dl/install those damn things and why does every game need to do so. Drives me nuts :).

Link to comment
Guest
Add a comment...

×   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...