Lazarus и School Linux Lite

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Lazarus и School Linux Lite

Сообщение Александр Яшин » 02.12.2009 12:28:26

Установил Lazarus на школьный линукс (School Linux Lite 4.0.0). Установилось нормально с первого раза, но при компиляции даже пустого проекта выдает ошибку

project1.lpr(17,1) Error: Ошибка при компоновке

Никак не могу найти причину. Подскажите, кто знает.
В Windows такое происходило, если новый проект не сохраняешь. После сохранения компилировалось.
А здесь и сохранение не помогает.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Lazarus и School Linux Lite

Сообщение Light13 » 02.12.2009 15:26:28

Аватара пользователя
Light13
постоялец
 
Сообщения: 127
Зарегистрирован: 17.07.2009 07:50:10
Откуда: Челябинск

Re: Lazarus и School Linux Lite

Сообщение AShen » 04.12.2009 11:37:14

2 Light13: Посмотрел ссылку. Не понял, а с какого бока kdevelop & lazarus ... И по чему я не видел записи в bugzilla.altlinux.ru по данному поводу? ...
Проблема в не выявленных зависимостях вида requires в rpm. А вот что именно надо мне не понятно. Ни разу ещё такой ошибки не встречал ...

2 Александр Яшин: Как ставили лазарь в школном линуксе то? Что то вы криво его поставили ...
А ещё поставьте себе свежий школьный линукс.
iso можно взять здесь:
ftp://ftp.altlinux.ru/pub/distributions ... so/school/
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Re: Lazarus и School Linux Lite

Сообщение Александр Яшин » 05.12.2009 09:04:32

Sorry!
При установке не отметил пункт "Образование". Если его отметить, Lazarus ставится автоматически.
Свежую версию, к сожалению, скачать не могу. У меня очень ограниченный Интернет.
Теперь у меня два вопроса.
1. При создании пустого проекта Lazarus автоматически создает Unit1, содержание которого следующее:

Код: Выделить всё
program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, SysUtils, CustApp
  { you can add units after this };

type

  { TMyApplication }

  TMyApplication = class(TCustomApplication)
  protected
    procedure DoRun; override;
  public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
    procedure WriteHelp; virtual;
  end;

{ TMyApplication }

procedure TMyApplication.DoRun;
var
  ErrorMsg: String;
begin
  // quick check parameters
  ErrorMsg:=CheckOptions('h','help');
  if ErrorMsg<>'' then begin
    ShowException(Exception.Create(ErrorMsg));
    Terminate;
    Exit;
  end;

  // parse parameters
  if HasOption('h','help') then begin
    WriteHelp;
    Terminate;
    Exit;
  end;

  { add your program here }

  // stop program loop
  Terminate;
end;

constructor TMyApplication.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  StopOnException:=True;
end;

destructor TMyApplication.Destroy;
begin
  inherited Destroy;
end;

procedure TMyApplication.WriteHelp;
begin
  { add your help code here }
  writeln('Usage: ',ExeName,' -h');
end;

var
  Application: TMyApplication;

{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}

begin
  Application:=TMyApplication.Create(nil);
  Application.Title:='My Application';
  Application.Run;
  Application.Free;
end.


Я попробовал удалить весь этот код и написал просто:

Код: Выделить всё
program Project1;
uses Crt;
begin
  writeln('Hello, World');
  readkey;
end.


Все откомпилировалось и выполнилось.

Вопрос: можно ли так делать. Если можно, то зачем весь этот длинный код. Если нельзя, то почему?

2. Нашел дистрибутив Ubunta 9.04 установил его. На первый взгляд он мне нравится больше. У меня есть rpm файлы fpc и Lazarus. А установить не получается. Пошарил по форуму, вроде нужны deb файлы. А что через rpm нельзя что ли?
Неужели придется скачивать deb-файлы?
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Lazarus и School Linux Lite

Сообщение serg_iv » 05.12.2009 09:15:23

Нашел дистрибутив Ubunta 9.04 установил его. На первый взгляд он мне нравится больше. У меня есть rpm файлы fpc и Lazarus. А установить не получается. Пошарил по форуму, вроде нужны deb файлы. А что через rpm нельзя что ли?
Неужели придется скачивать deb-файлы?

Когда то пробовал конвертировать rpm в deb. Но установка закончипась неудачно.
Через Synaptic ставится, но в Бубунте 9.10 не установился по зависимостям fp-units, часа два думал куда подевалась Libс.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Lazarus и School Linux Lite

Сообщение VirtUX » 05.12.2009 18:23:37

Александр Яшин писал(а):Нашел дистрибутив Ubunta 9.04 установил его. На первый взгляд он мне нравится больше. У меня есть rpm файлы fpc и Lazarus. А установить не получается. Пошарил по форуму, вроде нужны deb файлы. А что через rpm нельзя что ли?
Неужели придется скачивать deb-файлы?

Лучше скачать deb, так как модификация rpm в deb c помощью alien ничего путного не дает. Наилучший способ установки под Ubuntu обсуждается Lazarus в Ubuntu
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Lazarus и School Linux Lite

Сообщение Astralis » 05.12.2009 22:50:32

Код: Выделить всё
program Project1;
uses Crt;
begin
writeln('Hello, World');
readkey;
end.

Все откомпилировалось и выполнилось.


ошибка в компоновке связана с неправильной сборкой LCL на Altlinux 4.0 она возникает только при попытке собрать графические приложения.
вы можете заново пересобрать весь LCL, но лучше скачать уже пятую платформу, где данного недостатка уже нет, да и версия новее.
Аватара пользователя
Astralis
новенький
 
Сообщения: 45
Зарегистрирован: 06.06.2007 20:33:05
Откуда: Tvercity-Annet

Re: Lazarus и School Linux Lite

Сообщение AShen » 07.12.2009 12:23:33

2 Александр Яшин:
ещё раз перечитал ваше сообщение. Это бага https://bugzilla.altlinux.org/show_bug.cgi?id=17531, которая давно исправлена. Либо обновитесь до бранча школьного линукса 2007-ого года, либо обновитесь до бранча 4.1, а ещё лучше обновитесь до бранча p5.

2 Astralis: не верно, проблема не в неправильной сборке LCL, а в отсутствии нужной зависимости в пакете, которая решилоась установкой kdevelop'а. А точнее не хватки glibc-devel. Ну а теперь объясните, как "ошибка в компоновке связана с неправильной сборкой LCL"?
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Re: Lazarus и School Linux Lite

Сообщение Александр Яшин » 07.12.2009 13:28:06

Если при установке школьного лазаруса отметить пункт "Установить пакет "Образование", то Лазарус ставится автоматически и в этом случае такого бага нет. Но у меня был еще вопрос (наверное не очень понятно сформулировал).
При создании консольного приложения Лазарус автоматически создает достаточно длинный код, который я приводил. Вопрос был в том правильно ли будет, если этот код вообще убрать, а написать например, так:
Код: Выделить всё
program Project1;
uses Crt;
begin
writeln('Hello, World');
readkey;
end.


Ведь программа нормально компилируется и выполняется.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Lazarus и School Linux Lite

Сообщение AShen » 07.12.2009 13:39:16

Я думаю правильно в данном случае использовать fpc, а не lazarus для создания консольного приложения.
На фига тянуть графику в консоль?
Если "слишком навороченное" консольное, использующие ООП в своей основе то, то что создаёт лазарь думаю оставить как есть.
А для простых вещей чистый fpc. Можно для разработки использовать fp - IDE fpc, но ни текcт русcкий там не введёшь, ни комментарий по русски не напишешь (но это уже отдельная тема).
В bp я спокойно создавал программы использующие тоько ООП и ни каких проблем отсуствия визуализации аля Delphi не испытывал.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Re: Lazarus и School Linux Lite

Сообщение Александр Яшин » 07.12.2009 13:57:05

IDE FPC мне не нравится. Раз Lazarus позволяет создавать консольные приложения, то, наверное, можно все же так как я, при условии, что не применяешь ООП.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Lazarus и School Linux Lite

Сообщение AShen » 07.12.2009 14:06:44

Хозяин барин ... ;)
Раз у вас получилось из лазаря сделать прогу, не использующию ООП, то значит можно.
Просто лазарь создаёт консольное приложение, на основе шаблона, где программа это объект TApplication, от сюда всё остальное и тянется.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Re: Lazarus и School Linux Lite

Сообщение Александр Яшин » 07.12.2009 14:32:05

Типа программы Hello, что я приводил в качестве примера. Мы ООП еще не проходили, хотя я о нем слышал.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

Re: Lazarus и School Linux Lite

Сообщение AShen » 07.12.2009 14:43:44

Вы в школе учитесь или в ВУЗ'е/СУЗ'е?
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Re: Lazarus и School Linux Lite

Сообщение Astralis » 07.12.2009 15:41:35

не верно, проблема не в неправильной сборке LCL, а в отсутствии нужной зависимости в пакете, которая решилоась установкой kdevelop'а. А точнее не хватки glibc-devel. Ну а теперь объясните, как "ошибка в компоновке связана с неправильной сборкой LCL"?

Это одно и тоже, потому что собрать LCL без glibc-devel, который указан в BuildRequires, все равно не удастся. Просто при повторная сборка быстрее и очевиднее нашла бы проблему.
Аватара пользователя
Astralis
новенький
 
Сообщения: 45
Зарегистрирован: 06.06.2007 20:33:05
Откуда: Tvercity-Annet

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

Рейтинг@Mail.ru