# Getting FreeBasic

FreeBasic is a 32/64-bit, cross-platform, QuickBasic compatible, modern object-orientated language in the BASIC family. This page will talk about getting and installing it on the two main platforms of OHRRPGCE Development (Windows and Linux). DOS32 is not supported by the OHR (actually, noone has ever tried it).

The latest version of FreeBasic is recommended (at least 1.04 is strongly recommended, and at least 1.00 is required).

# Windows

On Windows for FB 0.90+ there are two different builds of FreeBASIC provided: one compatible with MingGW, and one compatible with MinGW-w64. The default installer is compatible with MinGW-w64. The MinGW alternative is called a "mingw32" or "mingworg" build. (The mingw build doesn't duplicate binaries and libraries included with MinGW.) You need to install a version of FB compatible with the distribution of mingw/mingw-w64 you install; see Windows compiling requirements.

There are also 64 bit versions of FB. I expect these would still be capable of creating 32 bit executables, but whether they work with the OHR is completely untested.

Note that the zip distributions of FreeBasic will not automatically add the location of fbc.exe to the system's PATH. You should not extract the files overwriting an existing install of the FreeBasic installer into C:\Program Files (x86)\FreeBASIC\ because the PATH set up by that installer may not be correct.

If you extracted FreeBASIC at (e.g.) C:\Program Files (x86)\FreeBASIC\, then you need to put both C:\Program Files (x86)\FreeBASIC\ and C:\Program Files (x86)\FreeBASIC\bin\win32 in your PATH. For other versions of FB, the necessary PATH varies.

# Linux

Download and install one of the freebasic packages from http://www.freebasic.net. Note that the OHR scons build system currently defaults to creating 32 bit binaries because it better tested; to build 64 bit binaries instead add arch=64, e.g. scons -j4 arch=64. See Compiling 64-bit builds.

## Standalone vs. Normal builds

For recent versions, this distinction is only relevant if compiling FB yourself. Previously FB packages were available in both 'standalone' and 'normal' versions. Now only normal builds are distributed.

If compiling you should never create a standalone build, regardless of whether you install FB globally on your system or not. The way standalone builds work has changed in recent FB versions, so that it now expects gcc, as, etc, in its local bin/ directory and does not look on the \$PATH. This seems to be intended only for distributing packages to Windows users.

See also the FB wiki page on Normal vs. Standalone FreeBASIC installs.

# BSD and others

FB does support FreeBSD, NetBSD and OpenBSD, and the OHRRPGCE has previously been compiled for FreeBSD, but you're on your own. Builds of FB for FreeBSD are available on the FB forums.