mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 04:58:11 +02:00
docs: clean up
git-svn-id: trunk@30974 -
This commit is contained in:
parent
269d5d1bc9
commit
530dfcf055
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2970,7 +2970,6 @@ docs/Contributors.txt svneol=native#text/plain
|
||||
docs/CrossCompile.txt svneol=native#text/plain
|
||||
docs/DesignGuidelines.txt svneol=native#text/plain
|
||||
docs/ExtendingTheIDE.txt svneol=native#text/plain
|
||||
docs/FAQ.txt svneol=native#text/plain
|
||||
docs/ForDelphians.txt svneol=native#text/plain
|
||||
docs/IDEWindowHelpTree.xml svneol=native#text/plain
|
||||
docs/INSTALL.txt svneol=native#text/plain
|
||||
|
@ -1,6 +1,11 @@
|
||||
Extending the IDE (Overview)
|
||||
============================
|
||||
|
||||
The online pages are more uptodate and have more examples:
|
||||
http://wiki.lazarus.freepascal.org/Extending_the_IDE
|
||||
|
||||
|
||||
|
||||
The IDE supports several types of plugins:
|
||||
|
||||
Components
|
||||
|
299
docs/FAQ.txt
299
docs/FAQ.txt
@ -1,299 +0,0 @@
|
||||
FAQ - Frequently Asked Question
|
||||
===============================
|
||||
|
||||
This is a summary of the FAQ at www.freepascal.org. See there for a complete
|
||||
and uptodate list.
|
||||
|
||||
1. General
|
||||
++++++++++
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Do I need ppc386.cfg or fpc.cfg?
|
||||
You only need fpc.cfg. This way the compiler knows where to find the libraries.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
How do I compile lazarus?
|
||||
|
||||
Do something like this:
|
||||
$ cd lazarus
|
||||
$ make
|
||||
|
||||
|
||||
How do I build other projects based upon the LCL
|
||||
Add the following lines to the end of your fpc.cfg
|
||||
# Add Lazarus libs
|
||||
-Fu/your.lazarus.root/lcl/units
|
||||
-Fu/your.lazarus.root/lcl/units/{YourToolKit}
|
||||
-Fu/your.lazarus.root/components/units
|
||||
-Fu/your.lazarus.root/components/units/{YourToolKit}
|
||||
|
||||
where {YourToolKit} may be gtk, gnome or win32 and run:
|
||||
ppc386 your.project.pp
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
What version of FPC is required?
|
||||
Currently you need to use 1.0.10 of the FPC compiler. You can find the URL in
|
||||
the downloads section of this site.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
I can't compile Lazarus
|
||||
|
||||
1. Check if the compiler has the correct version
|
||||
2. Check if the (fpc)libraries are from the same version.
|
||||
3. Check if you have a fpc.cfg and no old ppc386.cfg
|
||||
4. Check also the OS-dependent FAQs
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When I try to compile delphi projects under lazarus, I have an error at the
|
||||
line:
|
||||
{$R *.DFM}
|
||||
|
||||
How can I solve this problem ?
|
||||
Lazarus (or better Linux) doesn't know about resources, so you can't use them
|
||||
in the way Delphi/win32 does. However Lazarus uses a method pretty compatible
|
||||
with this.
|
||||
You can still use your Delphi layouts if you use the following steps:
|
||||
|
||||
1. You need a textual version of all form files (dfm)
|
||||
D4: created by copy/paste from ALT-F12
|
||||
D5: Native
|
||||
2. Create a file with lazres (in lazarus/tools)
|
||||
lazres yourform.lrs yourform.dfm
|
||||
3. Add the following initialization section to every unit with a form:
|
||||
|
||||
initialization
|
||||
{$I yourform.lrs}
|
||||
|
||||
Please keep in mind that not all properties in the dfm are supported yet by
|
||||
lazarus, so you might get a crash.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
when accessing events of objects e.g. the onclick event of a button I get the
|
||||
following error. ERROR unit not found: stdCtrls
|
||||
Either your "Other sources" path or your FPC source path is not sufficient.
|
||||
|
||||
Lazarus is the IDE and the visual components library LCL.
|
||||
All other stuff, like IO, Database, FCL and RTL are provided by FPC.
|
||||
The IDE needs the paths to all sources.
|
||||
|
||||
The path to the lazarus sources is normally automatically set. Check
|
||||
Run->Compiler Options->Search Paths->Other Sources
|
||||
for
|
||||
$(LazarusDir)/lcl;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)
|
||||
|
||||
The FPC source path can be set via:
|
||||
Environment -> General Options -> Files -> FPC source path
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
================================================================================
|
||||
|
||||
|
||||
1. Linux
|
||||
++++++++
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
I have SuSE and I get
|
||||
/usr/bin/ld: cannot find -lgtk
|
||||
Error: Error while linking
|
||||
|
||||
SuSE installs the gtk devel libs under /opt/gnome/lib, which is not in
|
||||
the standard lib path. Simply add it to your /etc/fpc.cfg.
|
||||
(-Fl/opt/gnome/lib).
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
How can I debug lazarus and lcl on Linux?
|
||||
|
||||
First of all you need a debugger. gdb is the standard debugger under linux and
|
||||
there are several GUI-frontends available. One common frontend is ddd, which is
|
||||
part of most common distributions. To compile lazarus/lcl with debug-information
|
||||
you should then use the following commands to start a debug session:
|
||||
$ make clean; make OPT=-dDEBUG
|
||||
$ ddd lazarus
|
||||
|
||||
Be warned however, that ddd is not as comfortable as e.g. the Delphi debugger.
|
||||
Specially if it comes to view the contents of a variable you have to take into
|
||||
account that ddd/gdb are case sensitive whereas Pascal is case-insensitive.
|
||||
Therefore you have to type all variable names in uppercase to see their
|
||||
contents. For more information take a look into the fpc-manuals.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
I can debug now but ddd does not find my sources or complains that they contain
|
||||
no code. Whats that?
|
||||
|
||||
This is a path-related problem with either gdb or ddd. You can aviod this by
|
||||
|
||||
* Use the "Change directory" command from the ddd menu and choose the
|
||||
directory where the sources are located. The drawback of this method is
|
||||
that you now can't use the source of the program you started
|
||||
with (e.g. lazarus). Thus it may be neccessary to change the directory
|
||||
multiple times.
|
||||
* In ddd goto [Edit] [gdb-settings] and set the search-path
|
||||
*
|
||||
|
||||
Create a $(HOME)/.gdbinit file like:
|
||||
directory /your/path/to/lazarus
|
||||
directory /your/path/to/lazarus/lcl
|
||||
directory /your/path/to/lazarus/lcl/include
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
I receive an error during the linking that states /usr/bin/ld can't
|
||||
find -l<some lib>
|
||||
All though you have installed the package <packagename> which provides
|
||||
<some lib>, you also need the development package, normally called
|
||||
<packagename>-dev
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
How can I convert a kylix 2 project into a lazarus project?
|
||||
Nearly the same way as converting a Kylix project into a Delphi/VCL project.
|
||||
|
||||
The LCL (Lazarus Component Library) tries to be compatible to Delphis VCL.
|
||||
Kylix CLX tries to be QT compatible.
|
||||
Here are some general hints:
|
||||
|
||||
* rename all used CLX Q-units like QForms, QControls, QGraphics, ... into
|
||||
their VCL counterparts: Forms, Controls, Graphics, ...
|
||||
* Add LResources to the uses section of every form source
|
||||
* rename or copy all .xfm files to .lfm files.
|
||||
* remove {$R *.xfm} directive
|
||||
* add an initialization section to each form source and add an include
|
||||
directive for the .lrs file (lazarus resource file):
|
||||
initialization
|
||||
{$I unit1.lrs}
|
||||
The .lrs files can be created via the lazres tool in
|
||||
(lazarusdir)/tools/lazres.
|
||||
For example: ./lazres unit1.lrs unit1.lfm
|
||||
* Fix the differences. The LCL does not yet support every property of the
|
||||
VCL and the CLX is not fully VCL compatible.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When compiling lazarus the compiler can not find a unit. e.g.: gtkint.pp(17,16)
|
||||
Fatal: Can't find unit GLIB
|
||||
|
||||
1. Check a clean rebuild: do a 'make clean all'
|
||||
|
||||
2. Check if the compiler has the correct version (1.0.10 or 1.1)
|
||||
|
||||
3. Check if the compiler is using the right config file. The normal
|
||||
installation creates /etc/fpc.cfg. But fpc also searches for
|
||||
~/.ppc386.cfg, ~/.fpc.cfg, /etc/ppc386.cfg and it uses only the first
|
||||
it finds.
|
||||
Hint: You can see which config file is used with 'ppc386 -vt bogus'
|
||||
|
||||
4. Check if the config file (/etc/fpc.cfg) contains the right paths to your
|
||||
fpc libs. There must be three lines like this:
|
||||
-Fu/usr/lib/fpc/$version/units/$target
|
||||
-Fu/usr/lib/fpc/$version/units/$target/*
|
||||
-Fu/usr/lib/fpc/$version/units/$target/rtl
|
||||
The first part of these paths (/usr/lib/fpc) depends on your system. On
|
||||
some systems this can be for example /usr/local/lib/fpc/... .
|
||||
Hint: You can see your searchpaths with 'ppc386 -vt bogus'
|
||||
|
||||
5. Check that the config file (/etc/fpc.cfg) does not contain search paths
|
||||
to the lcl source files (.pp, .pas):
|
||||
forbidden: -Fu(lazarus_source_directory)/lcl
|
||||
forbidden: -Fu(lazarus_source_directory)/lcl/interfaces/gtk
|
||||
|
||||
If you want to add the lcl for all your fpc projects, make sure that
|
||||
the two paths look like the following and are placed after the above
|
||||
fpc lib paths:
|
||||
-Fu(lazarus_source_directory)/lcl/units
|
||||
-Fu(lazarus_source_directory)/lcl/units/gtk
|
||||
|
||||
6. Check if the missing unit (glib.ppu) exists in your fpc lib directory.
|
||||
For example the gtk.ppu can be found in
|
||||
/usr/lib/fpc/$version/units/linux/gtk/.
|
||||
If it does not exists, the fpc lib is corrupt and should be reinstalled.
|
||||
|
||||
7. Check if the sources are in a NFS mounted directory. In some cases the
|
||||
NFS updates created files incorrectly. Plz try move the sources into a
|
||||
non NFS directory and compile there.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
I have installed the binary version, but when compiling a simple project,
|
||||
lazarus gives: Fatal: Can't find unit CONTROLS
|
||||
Probably you are using a newer fpc package, than that used for building the
|
||||
lazarus binaries. The best solution is to download the sources and compile
|
||||
lazarus manually. You can download the source snapshot or get the source
|
||||
via svn:
|
||||
|
||||
$ svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus
|
||||
$ cd lazarus
|
||||
$ make
|
||||
|
||||
|
||||
Make sure that lazarus get the new source directory:
|
||||
Environment->General Options->Files->Lazarus Directory
|
||||
Top
|
||||
Lazarus compiles, but linking fails with: libgdk-pixbuf not found
|
||||
Either install the gdk-pixbuf library for gtk1.x or disable the use:
|
||||
|
||||
Where to find the gdk-pixbuf library:
|
||||
|
||||
RPMs:
|
||||
http://rpmfind.net/linux/rpm2html/search.php?query=gdk-pixbuf&submit=Search+...&system=&arch=
|
||||
|
||||
Debian packages:
|
||||
libgdk-pixbuf-dev
|
||||
|
||||
Sources:
|
||||
ftp://ftp.gnome.org/pub/gnome/unstable/sources/gdk-pixbuf/
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
================================================================================
|
||||
|
||||
|
||||
3. Windows
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When I cycle the compiler, I get:
|
||||
The name specified is not recognized as an internal or external command,
|
||||
operable program or batch file.>& was unexpected at this time.
|
||||
In the compiler dir exists an OS2 scriptfile named make.cmd. NT sees this also
|
||||
as a script file, so remove it since on NT we don't need it.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When I cycle the compiler, I get:
|
||||
make[3]: ./ppc1.exe: Command not found
|
||||
I don't know why but somehow make has lost its path. Try to cycle with a
|
||||
basedir set like:
|
||||
make cycle BASEDIR=your_fpc_source_dir_herecompiler
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When I try to make Lazarus I get:
|
||||
make.exe: *** interfaces: No such file or directory (ENOENT).
|
||||
Stop.make.exe: *** [interfaces_all] Error 2
|
||||
|
||||
You need to upgrade your make.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
When I try to login at SVN I get:
|
||||
SVN.EXE [login aborted]: could not find out home directory
|
||||
On a windows platform the HOME environment variable is required to store
|
||||
your (SVN) username and password. From the command prompt issue:
|
||||
|
||||
SET HOME=C:MyHome
|
||||
or
|
||||
SET HOME=C:WINDOWS
|
||||
or
|
||||
SET HOME=C:WINDOWSProfilesYourLoginName
|
||||
or
|
||||
any other place you like
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,7 @@
|
||||
This text is for people knowing Delphi and it describes the differences
|
||||
This text is for people knowing Delphi and it describes the differences.
|
||||
|
||||
The online document is more uptodate:
|
||||
http://wiki.lazarus.freepascal.org/Lazarus_Documentation#Coming_from_Delphi
|
||||
|
||||
|
||||
Delphi -> Lazarus
|
||||
|
Loading…
Reference in New Issue
Block a user