Compiling non-trivial programs

Hi, I downloaded an some source code and I want to recompile it.  There's a subfolder called "SRC" with a bunch of header files and .cpp files.  There's also a makefile in there.

I tried to compile it with Visual Studio 2005 Express but there was no project solution file.  I also can't just open up the main.cpp file and go to "build" because the option is grayed out.

Then I gave up on VS2005 and I tried using the Makefile.  However, the last time I used a makefile was in UNIX at school so I had very little success using getting it to work in Windows or even Linux (Ubuntu distribution).

My questions are how can I compile this program and can a Makefile also work for other OS besides UNIX?  I know it's a stupid question but I haven't really programmed any non-trivial programs before.

Thanks for all your help in advance.

Steve
another_steveAsked:
Who is Participating?
 
avizitCommented:
you simply cannot take a file and build the application.;
you have to take care of the dependencies as in the files need to be compiled in particular order and then all the compiled object files can later be linked to create one application

I notice that there is a Makefile.windows file in the src directory
but since windows dont have a default make program maybe you can try to download and install nmake from
http://support.microsoft.com/default.aspx?scid=kb&en-us&Q132084=#08293648950946997642

and then later try

make ( or nmake if thats the command ) -f Makefile.windows

note: it may not be the -f options to pass the name of the makefile you would need to look at the documentation
0
 
avizitCommented:
what program you are trying to build ?
if it is written for linux/unix etc and not meant for win machines , it may not be trivial to get it to compile on windows without some modifications.
for example some library functions are only available on linux machnes and vice versa.

if you give the application and from where you downloaded experts here can have a look.

Makefiles can work on other OSes but may not work out of the box.

btw you can also try to instal cygwin so that you can then directly compile linux apps using the normal make/make install  ( in most cases )

0
 
another_steveAuthor Commented:
It's a game called Atomic Tanks: source code can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=72358

if you can show me how to compile this, that would be great

thanks
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
avizitCommented:
do you really need to compile it yourself cos for windows they have precompiled exe files which you can run

http://downloads.sourceforge.net/atanks/Atomic-Tanks-2.4.exe?modtime=1183656966&big_mirror=0

secondly i checked from the website that one of the requirements is Allegro game library i
hope you have installed that already
0
 
another_steveAuthor Commented:
i want to make some modifications to the game, later then i'll have to recompile it

thanks for the heads up about the Allegro game library, i downloaded it and extracted the file to my VS2005 folder but i still can't compile it.  i opened up the files "atank.cpp" and tried compiling but the "start debugging"  option was grayed out

0
 
Computer101Commented:
Forced accept.

Computer101
EE Admin
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.