LINUX.ORG.RU

Lazarus 2.2

 ,


0

1

Команда разработчиков Lazarus рада сообщить о выпуске Lazarus 2.2 — интегрированной среды разработки для Free Pascal. Этот релиз был собран компилятором FPC 3.2.2.

Список изменений:
http://wiki.lazarus.freepascal.org/Lazarus_2.2.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_3.2.2

Эту версию можно скачать на SourceForge:
http://sourceforge.net/projects/lazarus/files/
ftp://ftp.freepascal.org/pub/lazarus/releases/ (для тех, у кого заблокирован sourceforge)

Контрольные суммы: https://www.lazarus-ide.org/index.php?page=checksums#2_2_0

Минимальные требования:

  • FreeBSD/Linux: gtk 2.8 для gtk2, qt4.5 для qt, qt5.6 для qt5, 32 или 64bit;
  • Windows: 2k, XP, Vista, 7, 8, 8.1 и 10, 32 или 64bit;
  • macOS/OS X: Cocoa (64bit) 10.12 - 11.4, Carbon (32bit) 10.5 - 10.14, qt и qt5 (32 или 64bit).

Страница на gitlab: https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/lazarus_2_2_0.

Если будете самостоятельно собирать x86_64 версию Lazarus из исходников, то рекомендуется собирать IDE с флагами оптимизации:

-O1 или -O2 -OoNoPeepHole, – и не собирать просто с -O2 или -O3, так как найден баг в компиляторе FPC 3.2.2, планируется, что он будет устранён в версии FPC 3.2.4.

Коммит с исправлением: https://gitlab.com/freepascal.org/fpc/source/-/commit/e9d318e7e2f772bf455a92461cd5c229e69858d8

>>> Оригинальная новость

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 13)

Ответ на: комментарий от R_He_Po6oT

Я знаю как минимум одну ГИС, написанную, правда, на Delphi, но, полагаю, принципиальной разницы нет - уфимская ИнГео. ГИС мощная, расширяемая, интуитивная для неспециалистов, по многим параметрам не хуже, а местами и лучше других. Во всяком случае была, когда я работал в геодезии и активно принимал участие в бета-тестировании. С ней было просто приятно работать.

anonymous
()
Ответ на: комментарий от anonymous

за безразличие к регистру в именах и ключевых словах.

У меня нет таких предрассудков насчёт регистра, табов в питоне и пр. нюансов синтаксиса.

Твой высер в мою сторону пролетел мимо.

drfaust ★★★★★
()
Ответ на: комментарий от anonymous

Спасибо, гляну.

А что относительно виндошного OPC-DA, который, мать его, на чистом OLE и прибит гвозями таким образом к винде в Lasaurese?

drfaust ★★★★★
()
Ответ на: комментарий от hobbit

Тока я хотел возразить за препроцессор - а ты уже парировал)

Вообще, я рос бейсик - паскаль - си, как, думаю, и многие, и много всего хорошего, что само-собой в паскале (те женнюю вложенные функции, тру-модули, мне в си не хватает) ну и того удобства формошлепства, что из коробки было в делфи и есть в лазарусе я так больше нигде и не видел. Не дошли руки до культей,, но глэйд это какой-то позор, рядом с сабжем даже обсуждать не смешно

pihter ★★★★★
()
Последнее исправление: pihter (всего исправлений: 1)
Ответ на: комментарий от drfaust

Тогда яннп: это такой намёк на отсутствие модульности в си? Слишком тонко для среднего лоровца, делай скидку)

pihter ★★★★★
()
Ответ на: комментарий от hobbit

Кстати, спрошу по случаю, а есть различия в принципах компоновки в си и паскале?

Ну, в си же тоже есть отдельные единицы трансляции, да, в паскале модуле в языке явно оформлены, явно подключаются и все такое, но профит-то в чем?

pihter ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Лямбды в С++ - это просто синтаксический сахар, если понимать базовые механизмы языка там ничего сложного нет. Естественно, надо понимать подходы к владению ресурсами в С++ и где какой применять, но это надо знать безотносительно лямбд.

Begemoth ★★★★★
()
Ответ на: комментарий от zamtmn

Ну вот и интересовало, как дела обстоят. Помнится раньше у меня не получалось его собрать, мы что-то обсуждали, но потом я всё забыл.

Рад, что ты его не забросил, рад что люди вообще пишут что-то интересное в то время когда у всех и хватает сил только на то чтобы пахать. Творческие люди - это круто. Желаю процветания и тебе и проекту. Вот.

R_He_Po6oT ★★★★
()

Lazarus необычайно крут.

Там уже есть свой интернет-каталог компонентов, в визуальном интерфейсе выбираешь, кликаешь, оно само загрузится и установится. 18 лет назад это было только в eclipse. Теперь вот и Lazarus дорос.

Я прогаю для десктопа на Python/ C++ Qt / и Lazarus , и могу сказать что Лазарь сильно уделывает C++ Qt и от питончика не отстаёт. Перед Qt у него преимущества в скорости компиляции, размере установки среды. Причём как на Linux, так и на оффтопик. Попробуйте, к примеру, установить и настроить среду компиляции в статическом режиме для Qt, это займёт не менее 4х часов. И нужен мощный процессор чтобы кьют компилять или из инета тащить готовый статический комплект, а он очень жирный. А в лазаре статическая сборка из коробки.

И много других достоинств есть у Lazarus.

pup_kin
()
Последнее исправление: pup_kin (всего исправлений: 3)
Ответ на: комментарий от R_He_Po6oT

я переделал систему сборки на make, вроде стало проще, надо только пути к лазарю и конфигу лазаря указать.

переодически тестирую на релизах, но т.к. сам сижу на транковых lazarus\fpc иногда ломаю возможность сборки на релизах. на 2.2 вчера проверил в офтопике собралось

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Ночью попробую собрать на линуксе, поиграться. А как в линуксе тоже надо прописывать пути (и лазаруса и праймари)? Или сам определит?

R_He_Po6oT ★★★★
()
Ответ на: комментарий от R_He_Po6oT

Надо, сам не определит. К конфигу емнип путь нужен только для первичной установки пакетов, к лазарю путь нужен всегда.

zamtmn ★★
()
Ответ на: комментарий от R_He_Po6oT

Не надо собирать! На офф. сайте должны быть готовые сборки deb и rpm ! Разве только что у Вас Генту.

pup_kin
()
Ответ на: комментарий от anonymous

но это в подавляющем большинстве случаев плохая практика

Помню, в c# мне нужно было в цикле читать чанки больших csv и укладывать в хранилище. Угадайте, когда приходил GC, чтобы выкинуть ненужный массив из памяти? Правильно, никогда.

Shadow ★★★★★
()
Ответ на: комментарий от Begemoth

В C++ надо слишком часто смотреть, что там под капотом. В Скале я просто пишу лямбду и оно работает безо всяких сюрпризов. А все почему? Потому что в Скале лямбды логически вытекают из структуры языка (все есть объект, даже функции), а в С++ они согласно тренду введены и сбоку изолентой прикручены.

LongLiveUbuntu ★★★★★
()
Последнее исправление: LongLiveUbuntu (всего исправлений: 1)
Ответ на: комментарий от Begemoth

Если бы я был производителем железа - тогда проблем нет, нарисовать сервак и под UA, и под DA.

А вот модернизировать весь парк железа, когда у производителя уже нет программистов программисто перерисовать драйвера под вынь10 - о какой «Unified Architecture» вы говорите? Нам приходится держать Вынь-7 32бита комп для этого спецом....

drfaust ★★★★★
()
Ответ на: комментарий от anonymous

то-же

это всё ты, тот пафосный чувак? ах ха ха ха ха

anonymous
()
Ответ на: комментарий от pihter

Тогда яннп: это такой намёк на отсутствие модульности в си? Слишком тонко для среднего лоровца, делай скидку)

А я не могу понять с кем ты говоришь... Откуда ты придумал «модульность» в моих фразах? Прицепился за «stdlib.h», вырванную из контекста моего антитроллинга очередного анонимуса...

Вы случаем не болеете дизассоциацией? А то я не могу понять с кем разговариваю, с анонимусом, которому отвечал:

«за бесконечные begin … end, обьявление переменных в заголовке,»
Ну так же можно сказать и за «#include <stdlib.h>»

Или же с pihter`ом, которого вообще не трогал?

drfaust ★★★★★
()
Ответ на: комментарий от drfaust

Говорю же: не понял. К чему ты тогда инклуд стдлиб показал как гипотетически недостаток к которому можно прицепиться? Я решил это ты намекаешь на то как коряво в си решена модульность

pihter ★★★★★
()
Ответ на: комментарий от pihter

Они ухудшают читаемость кода. Хорошо написанная функция должна быть обозрима, и поэтому обычно вмещается в один экран +/-. Практика использования вложенных функций превращает функцию в бесконечную портянку. Причём правило обозримости здесь плохо работает и для вложенных функций, поскольку они имеют доступ к локальным переменных родительской функции.

anonymous
()

Кстати говоря, вопрос.
Почему после компиляции лазарусных LCL-приложений с использованием Qt они начинают требовать некую нестандартную разделяемую библиотеку? Статическая линковка не предусмотрена из лицензионных соображений или по техническим причинам? Мне это чудовищно неудобно с учетом того, что обычно я на Лазаре собираю всякие рабочие мелочи, которые потом таскаю на флешке и уж точно не опакечиваю. Эта библиотека еще ведь и ищется потом по «библиотечным» путям, ее не положишь просто в тот же каталог, что и исполнимый файл. Боль же!

PVOzerski ★★★
()
Ответ на: комментарий от pihter

К чему ты тогда инклуд стдлиб показал как гипотетически недостаток к которому можно прицепиться? Я решил это ты намекаешь на то как коряво в си решена модульность

Это был ответ анонимусу за его:

за бесконечные begin … end, обьявление переменных в заголовке, .... … в 21 веке нужно убивать, имхо

Так чего ты его защищаешь?

Более того мой ответ был вырван из контекста - вот полный:

Ну так же можно сказать и за «#include <stdlib.h>»
Ну а про прочее - язык, как язык - идеального не придумали. Классика Нильсена Вирта.
Срач насчёт языков тут не уместен.

Мне, к примеру, пофиг на чём писать - лишь бы инструмент был удобный. Предпочтения есть, но они к работе не относятся, и в данном треде никак не проявляются.

drfaust ★★★★★
()
Ответ на: комментарий от hobbit

Вы не правы. С++ язык без GC по умолчанию, тем ни менее обьекты, созданные на стеке, уничтожаются автоматически когда программа покидает блок кода где они были созданы. Для автоматизации уничтожения обьектов на куче можете воспользоваться умными указателями (при этом оверхед либо вообще отсутствует, либо минимален). Если вы достаточно заморочены, можете прикрутить свой GC. Здесь ограничений нет.

Далее, если вы имеете ввиду most vexing parse, то это дело привычки. Это правило не несёт в себе никаких принципиальных ограничений. Пользуйтесь uniform initialization в конце концов.

anonymous
()

Все лучше чем С+++ с его долбанутыми разрабами

anonymous
()
Ответ на: комментарий от drfaust

аналогия мимо, #include <stdlib.h> (при том, что это сишный хедер, в с++ практически не используется) уместнее сравнить с uses SysUtils

anonymous
()
Ответ на: комментарий от PVOzerski

qt5pas? прокладка между cpp и pas. напиши скриптик добавляющий путь приложения в путь поиска либ и запускай им. делов то

zamtmn ★★
()
Ответ на: комментарий от zamtmn

Ага. Теперь вспомнил чём была проблема :) у тебя всегда был «не тот» Lazarus :) У меня в Манджаре пока 2.0.12, не знаю, поэтому ли, но отказывается мейкаться. Пишу:

make installpkgstolaz LP=/usr/bin
Отечает:
PCP=~/.lazarus
LP=/usr/bin
/usr/bin/lazbuild --pcp='~/.lazarus' --add-package cad_source/other/AGraphLaz/lazarus/ag_graph.lpk
SetPrimaryConfigPath NewValue="~/.lazarus" -> "/home/kkk/.lazarus"
/usr/bin/lazbuild --pcp='~/.lazarus' --add-package cad_source/other/AGraphLaz/lazarus/ag_math.lpk
SetPrimaryConfigPath NewValue="~/.lazarus" -> "/home/kkk/.lazarus"
/usr/bin/lazbuild --pcp='~/.lazarus' --add-package cad_source/other/AGraphLaz/lazarus/ag_vectors.lpk
SetPrimaryConfigPath NewValue="~/.lazarus" -> "/home/kkk/.lazarus"
/usr/bin/lazbuild --pcp='~/.lazarus' --add-package cad_source/other/uniqueinstance/uniqueinstance_package.lpk
SetPrimaryConfigPath NewValue="~/.lazarus" -> "/home/kkk/.lazarus"
/usr/bin/lazbuild --pcp='~/.lazarus' --add-package cad_source/other/laz.virtualtreeview_package/laz.virtualtreeview_package.lpk
SetPrimaryConfigPath NewValue="~/.lazarus" -> "/home/kkk/.lazarus"
Error: (lazbuild) Имя пакета "laz.virtualtreeview_package"
файла "/home/kkk/bin/git/zcad/cad_source/other/laz.virtualtreeview_package/laz.virtualtreeview_package.lpk" некорректно.
make: *** [Makefile:146: installpkgstolaz] Ошибка 4
Почему имя пакета неправильное? Не пойму. А ставить отдельный новый лазарус на попробовать в лом. Ладно. Я вспомнил почему не получалось поюзать твой zcad, где бы записать, чтобы не спрашивать больше? :)

R_He_Po6oT ★★★★
()

Не нужно. Pascal учил в школе в качестве первого ЯП. Лучше бы я его вообще не учил. Чего стоит лишь только прибитое гвоздями место объявление переменных. Закопать вместе со Столяровым!

hummer
()
Ответ на: комментарий от anonymous

при том, что это сишный хедер, в с++ практически не используется

Пора бы уже не только паскаль изучить - директива «include», как следует из её англоязычного значения - просто «включить» кусок текста в исходный код. И почему эта директива

в с++ практически не используется

Откуды такие влажные фантазии, а как же #include <iostream>?

А вот в Паскале, прежде чем запилить

Uses My_Little_49_5
Надо сначала создать этот модуль через interface и даже «пустое тело» через implementation

В этом смысле Си удобнее

drfaust ★★★★★
()

ура!

юзаю… хорошая штука :)

anonymous
()
Ответ на: комментарий от Bagrov

нет. я не осилил делфи на винде, так как юзал билдер. а в линуксе билдера нету. вот и пришлось паскаль освоить

anonymous
()
Ответ на: комментарий от TechnoMag

Peazip

я делал большой проект обработки прайсов, и формошлепство позволяло релизить почти в реальном времени

ism ★★★
()
Последнее исправление: ism (всего исправлений: 1)
Ответ на: комментарий от anonymous

А какая разница?

stdio, stdlib, math и пр? - им либым - легоин.

Так же как и

 Uses Windows, Math, U_Anona_tleet;

drfaust ★★★★★
()
Ответ на: комментарий от anonymous

обьявление переменных в заголовке

в 21 веке нужно убивать, имхо

УБЕЙСЯ АП СТЕНУ

Attila ★★
()
Ответ на: комментарий от pihter

Кстати, спрошу по случаю, а есть различия в принципах компоновки в си и паскале?

Встречный вопрос: ты безграмотный?

Различия есть.

Например в вызовах функций. На уровне стека и ассемблера.

в паскале модуле в языке явно оформлены, явно подключаются и все такое, но профит-то в чем?

В МОДУЛЬНОСТИ. Настоящей, а не поддельной, как в C.

Attila ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.