Не могу понять почему чудит Лазарус, при попытке добавить в приложение вызов с внешней библиотеки, при запуске отладки выдается сообщение что
Ой, отладчик попал в состояние ошибки
Команда GDB:
"-exec-run"
не возвратила никакого результата.
проявляется в самом простом проекте
код библиотеки
- Код: Выделить всё
library hello;
{$mode objfpc}{$H+}
uses
Classes
{ you can add units after this };
function Hello: string; cdecl;
begin
result := 'Hello!';
end;
exports
Hello;
begin
end.
код приложения
- Код: Выделить всё
unit helloFrm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs;
type
TForm1 = class(TForm)
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
function Hello(): string; cdecl; external 'libhello.so';
end.
фактически есть только импорт функции, все остальное убрано. Если его закоментарить - запускается
Lazarus
- Код: Выделить всё
Lazarus 2.2.4 (rev Unversioned directory) FPC 3.2.2 x86_64-linux-gtk2
/usr/bin/fpc
-MObjFPC
-Scghi
-Cg
-O1
-g
-gl
-l
-vewnhibq
-Filib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/lcl/units/x86_64-linux/gtk2
-Fu/usr/share/lazarus/2.2.4/lcl/units/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/components/freetype/lib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/components/lazutils/lib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/packager/units/x86_64-linux
-Fu.
-FUlib/x86_64-linux
-FE.
-ohello_prg
-dLCL
-dLCLgtk2
Linux
- Код: Выделить всё
Linux rev-orel 5.4.0-71-generic #astra33+ci2-Ubuntu SMP Mon Jun 21 22:55:15 UTC 2021 x86_64 GNU/Linux
В виндовс все прекрасно добавляется и запускается