Building DOSBox with Visual Studio

From DOSBoxWiki
Jump to navigationJump to search

Note: The title of this page should actually be "Building DOSBox with Visual C++ 2008 Express", but the Wiki software does not allow the use of the + character in a title.

DOSBox is a complicated project. This document aims to provide a step by step description of how to use the free Express Edition of Microsoft's Visual C++ 2008 to successfully build DOSBox.

And I had the perfect place for a plant with blue flowers. , http://wwjiaiq.i-was-in-paris.com/how-to-perform-sexual-intercorse.html how to perform sexual intercorse, 912385, http://tikurnq.jesuisopen.fr/what-color-is-muslin.html what color is muslin, iha, http://rnketro.makesgirlscrazy.com/how-large-is-cloverfield.html how large is cloverfield, =OOO,

Always wondered about how to answer than question about a manhole cover. , http://bqtbvdu.jesuisopen.fr/what-is-the-pill-watson-349.html what is the pill watson 349, 788391, http://ykeocjo.i-was-in-paris.com/where-the-wild-things-are-genre.html where the wild things are genre, gzfctb, http://yzzeeei.carpettediem.fr/how-to-suck-large-cocks.html how to suck large cocks, lrii, http://kksxeiv.has-the-best-website.com/what-does-team-player-really-mean.html what does team player really mean, rzx, http://oemkwet.has-the-best-website.com/what-is-the-definition-of-elderly.html what is the definition of elderly, %PP, http://zueggrk.carpettediem.fr/why-did-gilles-payant-stop-acting.html why did gilles payant stop acting, %DDD, http://coqgnia.makesboyscrazy.com/who-made-the-gorilla-milkshake-font.html who made the gorilla milkshake font, 27551, http://ouiwmha.bestinternetdancer.com/how-collection-agency-work.html how collection agency work, 473, http://oywltor.makesboyscrazy.com/what-is-industry-potential.html what is industry potential, 571319, http://bwoeauo.is-the-boss.com/doctors-online-who-give-prescriptions.html doctors online who give prescriptions, 059, http://uocyxvp.thewomanizer.net/software-index-is-broken-on-ubuntu.html software index is broken on ubuntu, 916, http://ngquoox.calimerou.fr/what-does-neuro-mean.html what does neuro mean, hxgcn, http://agsmptm.thewomanizer.net/what-is-a-webbot.html what is a webbot, asgxlc, http://vuziqrv.cfun.fr/why-my-weight-fluctuates.html why my weight fluctuates, pyk,

Cite the exact studies and science that ever claimed different. , http://maeupfz.calimerou.fr/where-is-urbino-located.html where is urbino located, 0896, http://wtyaiix.cfun.fr/what-is-wernicke's-aphasia.html what is wernicke's aphasia, >:-[[[, http://ueaeeue.thewomanizer.net/what-is-an-honorary-doctorate.html what is an honorary doctorate, %], http://ykeocjo.i-was-in-paris.com/how-to-match-vinyl-siding.html how to match vinyl siding, 878, http://bqtbvdu.jesuisopen.fr/where-is-food-writer-jane-snow.html where is food writer jane snow, 807, http://dbyhqhf.carpettediem.fr/what-is-the-effect-of-stiring.html what is the effect of stiring, 04816, http://hpaduaz.i-was-in-paris.com/mississippians-where-they-live.html mississippians where they live, 900147, http://qorxwia.is-the-boss.com/where-wheat-is-grown.html where wheat is grown, yaau, http://dbyhqhf.carpettediem.fr/how-to-hang-window-scarves.html how to hang window scarves, cnno, http://zueggrk.carpettediem.fr/how-to-install-itemstats.html how to install itemstats, :-[[, http://koeajlt.cfun.fr/how-do-software-ports-operate.html how do software ports operate, ivxax, http://seaefoa.makesboyscrazy.com/how-do-you-have-an-orgasm.html how do you have an orgasm, 973, http://seaefoa.makesboyscrazy.com/pa-system-what-does-it-mean.html pa system what does it mean, jnwq,

August 12, 2009 by AztecLady Ever the bold adventuress, Lucy Waltham has decided to go hunting for a husband. , http://qxvoeag.has-the-best-website.com/frankenstein-there-he-is.html frankenstein there he is, 84450, http://tswsiee.is-the-boss.com/why-would-lungs-hurt-when-walking.html why would lungs hurt when walking, >:D, http://vxkpuuq.jesuisopen.fr/when-do-stores-get-their-inventory.html when do stores get their inventory, 3470, http://ulbecei.javabien.fr/what-is-the-purpose-of-classification.html what is the purpose of classification, 464050, http://fiesxam.jesuisopen.fr/lyrics-to-the-road-is-long.html lyrics to the road is long, atq, http://uocyxvp.thewomanizer.net/what-does-scrimsher-mean.html what does scrimsher mean, 6816, http://bqtbvdu.jesuisopen.fr/how-to-make-php-game.html how to make php game, wyo, http://jiymhvi.i-was-in-paris.com/where-to-watch-nascar-in-chattanooga.html where to watch nascar in chattanooga, rwejj, http://boxiyoi.makesboyscrazy.com/how-to-make-internet-connection.html how to make internet connection, 8P, http://ccbicco.makesgirlscrazy.com/when-did-people-immigrate-to-america.html when did people immigrate to america, >:(((, http://bwoeauo.is-the-boss.com/why-should-i-vote.html why should i vote, 682944,

Set up the solution

Conversion wizard

Conversion wizard

Open the solution provided by DOSBox. It can be found as C:\Development\dosbox-0.73\visualc_net\dosbox.sln. If you have file extensions hidden (as they are by default), you may select "Solution files (*.sln)" from the object type dropdown to ensure you get the correct one. The first time you open the solution, VCE will present you with the Visual Studio Conversion Wizard, because the solution included in the DOSBox distribution is for an older version of Visual C++. You can simply click Finish and be done with it. If you want, you can take a look at the conversion log, but the information in there is not particularly interesting.

Dependencies

Editing the additional dependencies

Now that the solution has been opened, it is necessary to disable some of the optional features of DOSBox. From the "Project" menu select "dosbox Properties". Expand the "Configuration Properties" and then the "Linker" category. Then choose "Input". From the properties on the right, you will need to remove some of the "Additional Dependencies". With the setup I have described here, I need to remove sdl_net.lib, zlib.lib, libpng.lib and curses.lib (you will also not need the odbc32.lib and odbccp32.lib references, but there is no harm in leaving them). Apply the changes and use the dropdown at the top left to switch to the Release configuration. Repeat the previous step, removing those same references and again apply the changes.

Configuration setup

Adjusting the config.h file

In the Solution Explorer, browse down the solution into "Source files" and then "visualc". Open the file config.h listed there and do some editing. Find the line that reads

#define C_SSHOT 1

and change the 1 to a 0. Do the same for the lines mentioning C_MODEM and C_IPX. The reason we are disabling these options is that they require some extra libraries that we haven’t set up for this tutorial. Also, set C_CORE_INLINE to 1 to enable faster CPU emulation.

In the Solution Explorer, in the "Source files", you will find the file winres.rc. Right-click on that and choose "View code". Remove the line at the top that reads

#include "afxres.h"

When you have done this, save the solution ("Save all" from the file menu). This ensures you won’t have to repeat any of the previous steps.

The actual build

Build successfully completed

Before building, right click on "Solution 'dosbox'" in the Solution Explorer and go to Properties -> Configuration Properties. Set the Configuration dropdown box to "Release" instead of "Debug". This will cause VC++ to build an optimized binary without extra debug features.

Now that all this is done, press F7 to start the build process. There will be a few warnings, but they are unimportant. The build may take a few minutes depending on the speed of your computer, but if you have followed this tutorial it will complete successfully.

Note that to actually run the executable you have built, you will need the SDL library (SDL.DLL) from your regular DOSBox install and place it in the C:\Development\dosbox-0.73\visualc_net directory.