[Lazarus] Using event driven components in console application

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Fri Nov 6 10:25:41 CET 2015

JuuS wrote:
> On 11/05/2015 07:05 PM, JuuS wrote:
>> On 11/04/2015 12:30 PM, Mark Morgan Lloyd wrote:
>>> JuuS wrote:
>>>> On 11/04/2015 09:48 AM, Mark Morgan Lloyd wrote:
>>>>> When building the IDE you'd normally use  make bigide  or similar which
>>>>> would use the platform defaults, but depending on what libraries etc.
>>>>> were available you could also use e.g.  make LCL_PLATFORM=qt bigide
>>>> Hi,
>>>> This question / discussion is also very interesting to me (warning
>>>> possible dumb questions ahead).
>>>> I am still very vague on the widget type/set in my gnu/linux education.
>>>> I'm kub14.04, the ide then uses gtk2, all automatic.
>>> If that's Kububtu, I'd expect it to be using KDE which implies you've
>>> already got Qt. Assuming that you have- or can add- libqt4pas-dev then
>>> you can build the Lazarus IDE etc. for Qt.
>> Ahhhh. Thank you for the insight! Yes, I can now compile qt as well as
>> gtk2.
>> So simple!!...when you know what is needed...
> Just FYI for others that may be in my position:
> This insight (using a qt version) just solved the problem I was having
> with a later install version of kub 14.04 and kub 15.04 and 15.10 where
> a simple progress bar from the comp. palette showed fine in my
> development computer (earlier install v. of 14.04) but would NOT show in
> those other two versions. Ouch.
> Thanks again, you just solved a headache for me (but one needs to
> install the libqt4pas5 library on the destination machines, even so
> problem solved).

Having to have that library is unfortunate, but is a fundamental 
requirement since Qt exposes a C++ API which is not directly usable by 
FPC. If you start looking too closely at that point, you have to 
question the wisdom of using non-mainstream tools... I really don't want 
to go there.

In practice, it's also worth installing database -dev packages e.g. 
libpq-dev on user-level machines, since it is these that typically set 
up a fixed-name symlink that avoids an app having to search for various 
possibilities. So on one of the older machines around here I've got

/usr/lib/libpq.so -> libpq.so.5.1
/usr/lib/libpq.so.5 -> libpq.so.5.1

while on a newer one:

/usr/lib/libpq.so -> libpq.so.5.4
/usr/lib/libpq.so.5 -> libpq.so.5.4

That's a distro problem, not an FPC or Lazarus one.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the Lazarus mailing list