SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Building BZFlag and its associated projects in Dev-C++ on Windows or Linux is quite easy.

  1. Download the latest version of Dev-C++. You can download it from:

http://sf.net/projects/dev-cpp

Releases are under "Binaries". Download the release containing MinGW32, which should be the file entitled, "devcppXXXsetup.exe" (replace XXX with a version number). If there is none, it should be quite obvious anyway.

2. Download the latest version of SDL, available from:

http://libsdl.org/

Installation instructions are below.

3. Download libCURL, available from:

http://curl.haxx.se/latest.cgi?curl=win32-devel

Select the mirror closest to you to download.

Installation is roughly the same as the SDL instructions below.

4. Open up the corresponding project files (only build on at a time), included in the "Dev-C++"

directory. Note that each project uses an individual project file, so no two can be combined.

5. Let the opened project compile (this may take several minutes, depending on your computer).

6. The binary and object files should be in each project's corresponding main source

directory, such as src/bzflag/ for BZFlag client.

*If you want to build bzadmin-pdcurses.dev, make sure you have pdcurses or a similiar curses library installed. Get the package from http://prdownloads.sourceforge.net/pdcurses/pdc27_ming_w32.zip?download (make sure you always use that URL or get version 2.7), and install like libcURL and libSDL (see below).

Project files were maintained using Dev-C++ 4.9.9.2

The latest version of Dev-C++ (at this time) has been used to create and maintain these project files, so older versions may not necessarily work (but they may, but it is best just to get the latest or the above version). The version of MinGW32 that Dev-C++ uses should not matter as long as it is reasonably up to date (at this time, 3.2.x is a good minimum for best performance let alone errorless compilation). MinGW32 is distributed with Dev-C++.

The default build is no Kerberos library, but to enable it, all you do is uncomment the #define in the config.h file in the /Dev-C++/ directory.

Some of the project files instruct the compiler to optimize to a mild extent, so compilation might be a small bit slower than normal compilation, but it is worth it and not very noticeable or annoying.

SDL is needed for the current building style, which is considerably smaller than DirectX SDK, and is available from:

www.libsdl.org

It is only a few megabytes, and is cross-platform. Remember to download the "devel" one for MinGW32 so it works nicely (however, a VC++ one may also work, but it is not recommended), if you are on Windows, otherwise download the one for GCC on Linux. Place the .a files in your "/lib/" directory of Dev-C++ (or MinGW32 dir), and the headers in "/include/". For libcURL, place the folder named "/curl/", containing .h files, into the "/include/" of Dev-C++, like stated above. Follow same instructions as for SDL for libcURL's .a files. Also, make sure you put all included dynamic libraries from SDL and libcURL (for example, "SDL.dll" on Windows) somewhere in your PATH environment variable (on Windows), such as "c:\WINDOWS\". On Linux, place it in a directory that it knows to look in.

Dev-C++ currently exhibits a bug in which if any project is opened from inside Dev-C++, rather than launching the project file itself (double-clicking the project file's icon in Explorer, on Windows), it will fail to create a makefile and therefore cannot compile. This bug may not happen all the time, but it is present.

==Linker cannot find "-lsdlmain"==
If you get this error, you need to replace your SDL files with the ones downloadable from http://libsdl.org/ The package downloadable from the Dev-C++ update window will not fix this.

==The linker gives errors about undefined references to cURL functions== You need to get either the source distribution or the binary distribution under the Win32 Generic category on http://curl.haxx.se/download.html Again, the Dev-C++ update window package will not fix this.

=="xx" in Makefile==
If you get an error regarding building "target 'xx'" and it references the makefile, go to the "Tools" menu in Dev-C++. Select "Compiler Settings". When the new settings window appears, check the box near the bottom that says, "Use fast but imperfect dependency generation." Continue compiling.

==Linker Errors==
If compilation includes linking errors, and you are using CVS source code, it may be temporary and due to the project files not being updated yet for new BZFlag source files. Make sure you also have the latest Dev-C++ files from CVS. If you are using release source code, it most likely is due to the library (.a) files of your compiler. Make sure you have properly installed your compiler, and have the correct library files in the correct place, and of the correct version that matches your compiler. Also, your Dev-C++ configuration and setup (more specifically, that of MinGW32/GCC) may be the problem. If you have updated ANY part of your MinGW32/GCC from the version(s) that shipped with the original Dev-C++ release package that you originally downloaded, this may be it. If you get linker errors regarding undefined things that relate to C++, rather than BZFlag (you can usually tell by the names listed in the errors), then your compiler setup and files are the cause. Try reinstalling Dev-C++ or using the original compiler files that shipped with Dev-C++.

==Building BZAdmin with Curses==
If you want to use the given project file to compile BZAdmin using PDCurses (http://pdcurses.sf.net) or NCurses, or any other Curses interface, make sure your Curses lib file is named "libcurses.a" so it links correctly (named exactly like the ncurses lib).

==Further Help==
If you have any trouble not answered here, and you are unable to figure it out yourself, BZBB (bzbb.bzflag.org) can be a big help. Check the "CVS/Development/Compiling" forum on BZBB; there are several posts regarding Dev-C++. Post your own message if you still are unable to fix it.

==Messed Up Interface==
If BZFlag looks significantly messed up when you run it, and it is clearly done loading, and you also have reasonably played around with the GUI settings, you may want to close it and re-open it. If this does not work, try doing a "clean compile" (rebuild the entire BZFlag project); this usually works. If it still looks messed up, it may be a current issue in CVS or your release. Get the latest code and try again. If it still does not work, you most likely are a victim of poor hardware. Mention it on BZBB for further help.

==Further Help==
For further information and help regarding:

Dev-C++:

http://www.bloodshed.net
http://sf.net/projects/dev-cpp

MinGW32
http://www.mingw.org http://sf.net/projects/mingw32
GCC
*http://gcc.gnu.org
SDL
*http://libsdl.org


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.