[fpc-devel] Just got started

Michael Götzsche mike at primal.dk
Thu Jan 12 12:57:34 CET 2006


Hi all,

I just installed v. 2.0.2 and will be picking up on old Pascal chops in 
months to come. One problem immediately presents itself: When trying to 
compile the examples, all programs that include units fail with "Can't 
find unit ...". The following are the two config files that might affect 
this (as far as I understand for now):

fpc.cfg:
-----------------------------------------------------------------------------------------------------
#
# Config file generated by fpcmkcfg on 12-01-2006 - 12:43
# Example fpc.cfg for Free Pascal Compiler
#

# ----------------------
# Defines (preprocessor)
# ----------------------

#
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
#
# -d is the same as #DEFINE
# -u is the same as #UNDEF
#

#
# Some examples (for switches see below, and the -? helppages)
#
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
#

# For a release compile with optimizes and strip debuginfo
#IFDEF RELEASE
  -OG2p3
  -Xs
  #WRITE Compiling Release Version
#ENDIF

# For a debug version compile with debuginfo and all codegeneration 
checks on
#IFDEF DEBUG
  -g
  -Crtoi
  #WRITE Compiling Debug Version
#ENDIF

# ----------------
# Parsing switches
# ----------------

# Pascal language mode
#      -Mfpc      free pascal dialect (default)
#      -Mobjfpc   switch some Delphi 2 extensions on
#      -Mdelphi   tries to be Delphi compatible
#      -Mtp       tries to be TP/BP 7.0 compatible
#      -Mgpc      tries to be gpc compatible
#      -Mmacpas   tries to be compatible to the macintosh pascal dialects
#
# Turn on Object Pascal extensions by default
#-Mobjfpc

# Assembler reader mode
#      -Rdefault  use default assembler
#      -Ratt      read AT&T style assembler
#      -Rintel    read Intel style assembler
#
# All assembler blocks are AT&T styled by default
#-Ratt

# Semantic checking
#      -S2        same as -Mobjfpc
#      -Sc        supports operators like C (*=,+=,/= and -=)
#      -Sa        include assertion code.
#      -Sd        same as -Mdelphi
#      -Se<x>     compiler stops after the <x> errors (default is 1)
#      -Sg        allow LABEL and GOTO
#      -Sh        Use ansistrings
#      -Si        support C++ styled INLINE
#      -SI<x>     set interface style to <x>
#         -SIcomCOM compatible interface (default)
#         -SIcorbaCORBA compatible interface
#      -Sm        support macros like C (global)
#      -So        same as -Mtp
#      -Sp        same as -Mgpc
#      -Ss        constructor name must be init (destructor must be done)
#      -St        allow static keyword in objects
#
# Allow goto, inline, C-operators, C-vars
-Sgic

# ---------------
# Code generation
# ---------------

# Uncomment the next line if you always want static/dynamic units by default
# (can be overruled with -CD, -CS at the commandline)
#-CS
#-CD

# Set the default heapsize to 8Mb
#-Ch8000000

# Set default codegeneration checks (iocheck, overflow, range, stack)
#-Ci
#-Co
#-Cr
#-Ct

# Optimizer switches for i386 compiler
# -Og        generate smaller code
# -OG        generate faster code (default)
# -Or        keep certain variables in registers (still BUGGY!!!)
# -Ou        enable uncertain optimizations (see docs)
# -O1        level 1 optimizations (quick optimizations)
# -O2        level 2 optimizations (-O1 + slower optimizations)
# -O3        level 3 optimizations (same as -O2u)
# -Op        target processor
#     -Op1  set target processor to 386/486
#     -Op2  set target processor to Pentium/PentiumMMX (tm)
#     -Op3  set target processor to PPro/PII/c6x86/K6 (tm)

# Optimize always for Size and PII
#-OG2p3


# -----------------------
# Set Filenames and Paths
# -----------------------

# Both slashes and backslashes are allowed in paths

# path to the messagefile, not necessary anymore but can be used to override
# the default language
#-FrC:\FPC\2.0.2/msg/errore.msg
#-FrC:\FPC\2.0.2/msg/errorn.msg
#-FrC:\FPC\2.0.2/msg/errores.msg
#-FrC:\FPC\2.0.2/msg/errord.msg
#-FrC:\FPC\2.0.2/msg/errorr.msg

# path to the gcclib
#-FlC:\FPC\2.0.2/lib

# searchpath for includefiles
#-Fi/pp/inc;/pp/rtl/inc

# searchpath for includefiles
# release them only if you know what you do
# because this could cause a rebuild of the runtime library
# if you tell them compiler/ide to build the project (FK)
#-FiC:\FPC\2.0.2/source/rtl/inc;C:\FPC\2.0.2/source/rtl/i386

# searchpath for objectfiles
#-FoC:\FPC\2.0.2/source/rtl/inc;C:\FPC\2.0.2/source/rtl/i386

# searchpath for units and other system dependent things
-FuC:\FPC\2.0.2/units/$FPCTARGET/
-FuC:\FPC\2.0.2/units/$FPCTARGET/*
-FuC:\FPC\2.0.2/units/$FPCTARGET/rtl

# searchpath for libraries
#-FlC:\FPC\2.0.2/lib
#-Fl/lib;/usr/lib

# searchpath for tools
-FDC:\FPC\2.0.2/bin/$FPCTARGET


# -------------
# Linking
# -------------

# generate always debugging information for GDB (slows down the compiling
# process)
#      -gc        generate checks for pointers
#      -gd        use dbx
#      -gg        use gsym
#      -gh        use heap trace unit (for memory leak debugging)
#      -gl        use line info unit to show more info for backtraces
#      -gv        generates programs tracable with valgrind
#      -gw        generate dwarf debugging info
#
# Enable debuginfo and use the line info unit by default
#-gl

# always pass an option to the linker
#-k-s

# Always strip debuginfo from the executable
-Xs


# -------------
# Miscellaneous
# -------------

# Write always a nice FPC logo ;)
-l

# Verbosity
#      e : Show errors (default)       d : Show debug info
#      w : Show warnings               u : Show unit info
#      n : Show notes                  t : Show tried/used files
#      h : Show hints                  m : Show defined macros
#      i : Show general info           p : Show compiled procedures
#      l : Show linenumbers            c : Show conditionals
#      a : Show everything             0 : Show nothing (except errors)
#      b : Show all procedure          r : Rhide/GCC compatibility mode
#          declarations if an error    x : Executable info (Win32 only)
#          occurs
#
# Display Info, Warnings, Notes and Hints
-viwn
# If you don't want so much verbosity use
#-vw
-----------------------------------------------------------------------------------------------------

fp.ini
-----------------------------------------------------------------------------------------
[Files]
OpenExts="*.pas;*.pp;*.inc"
PrinterDevice=prn

[Compile]
CompileMode=NORMAL

[Help]
Files=""

[Editor]
DefaultTabSize=8
DefaultIndentSize=1
DefaultFlags=20599
DefaultSaveExt=.pas

[Highlight]
Exts="*.pas;*.pp;*.inc"
NeedsTabs="make*;make*.*;fpcmake.loc"

[SourcePath]
SourceList=""

[Mouse]
DoubleDelay=8
ReverseButtons=0
AltClickAction=6
CtrlClickAction=1

[Search]
FindFlags=4

[Breakpoints]
Count=0

[Watches]
Count=0

[Preferences]
DesktopFileFlags=209
CenterCurrentLineWhileDebugging=1
AutoSaveFlags=6
MiscOptions=6
DesktopLocation=1

[Misc]
ShowReadme=0
-----------------------------------------------------------------------------------------

So, standard Windows install in root dir, Windows XP etc.

Any help would be appreciated. Sorry for the long post!

-Mike



More information about the fpc-devel mailing list