Compiler Options
Command line compiler options for the fbc compiler:
@< file >

- Read (additional) command-line options from the file

-a < name >

- Add an object file to linker's list

-arch < type >

- Set target architecture (default: 486)

-asm < format >

- Sets the assembler format for Asm block

-b < name >

- Add a source file to compilation

-c

- Compile only, do not link

-C

- Do not delete the object file(s)

-d < name=val >

- Add a preprocessor's define

-dll

- Create a DLL, including the import library. (Same as `-dylib`)

-dylib

- Create a DLL, including the import library

-e

- Add error checking

-earray

- Enable array bounds checking

-eassert

- Enable assert() and assertwarn() checking

-edebug

- Enable `__FB_DEBUG__`

-edebuginfo

- Add debug information

-elocation

- Enable full error location reporting

-enullptr

- Enable null-pointer checking

-ex

- Add error checking with RESUME support

-exx

- Same as -ex, plus array bounds, null-pointer, and error location reporting

-export

- Export symbols for dynamic linkage

-forcelang <name>

- Select language compatibility, overriding #lang/$lang in code

-fpmode < type >

- Select between fast and accurate floating-point operations (default: PRECISE)

-fpu < type >

- Set the floating point arithmetics unit (default: FPU)

-g

- Add debug info, enable##__FB_DEBUG__##, and enable asserts

-gen < backend >

- Sets the compiler backend (default is 'gas')

-i < name >

- Add a path to search for include files

-include < name >

- Include a header file on each source compiled

-l < name >

- Add a library file to linker's list

-lang < name >

- Select language compatibility: `fb`, `fblite`, `qb`, `deprecated`

-lib

- Create a static library

-m < name >

- Main file without extension, the entry point (default is the first .bas file on the command line)

-map < name >

- Save the linking map to file name

-maxerr < val >

- Only stop parsing if <val> errors occurred

-mt

- Link with thread-safe runtime library

-nodeflibs

- Do not include the default libraries

-noerrline

- Do not show source line where error occurred

-noobjinfo

- Do not read/write compile-time info from/to .o and .a files

-nostrip

- Do not strip symbol information from the output file

-o < name >

- Set object file path/name (must be passed after the .bas file)

-O < level >

- Set the optimization level (-gen gcc)

-p < name >

- Add a path to search for libraries

-pic

- Generate position-independent code (non-x86 Unix shared libs)

-pp

- Emit the preprocessed input file only, do not compile

-prefix < path >

- Set the compiler prefix path

-print < option >

- Let the compiler display certain information (`fblibdir`, `host`, `target`, `x`)

-profile

- Enable function profiling

-r

- Compile into `*.asm/*.c/*.ll` file(s) only, do not assemble or link

-R

- Preserve intermediate `*.asm/*.c/*.ll` file(s) generated by compilation

-rr

- Compile into `*.asm` file(s) only, do not assemble or link

-RR

- Preserve intermediate `*.asm` files generated by compilation

-s < name >

- Set subsystem (`gui`, `console`)

-showincludes

- Display a tree of file names of #included files

-static

- Prefer static libraries over dynamic ones when linking

-strip

- Omit all symbol information from the output file

-t < value >

- Set stack size in kbytes (default: 1M)

-target < platform >

- Set the target platform for cross compilation

-v

- Be verbose

-vec < level >

- Set level of vector optimizations enabled by the compiler (default: 0)

-version

- Show compiler version

-w < value >

- Set min warning level: all, pedantic or a value

-Wa < opt >

- Pass options to GAS (separated by commas)

-Wc < opt >

- Pass options to GCC (separated by commas)

-Wl < opt >

- Pass options to LD (separated by commas)

-x < name >

- Set executable/library path/name

-z < value >

- Sets miscellaneous or experimental options

See also

- Using the Command Line