Страница 1 из 1

Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 02.03.2010 16:16:38
coyot.rush
Предлогаю небольшой How-to по этой теме

Компиляция проектов MSEIDE из Lazarus.
Данная статья не претендует на полноту публикации. Ответы на многочисленные проблемы с Lazarus и MSEIDE можно найти на форуме http://www.freepascal.ru/forum/
Помимо всего прочего здесь будет рассказано как установить Lazarus,fpc,MSEIDE в свою домашнюю директорию.
Примечания: ~/ -домашняя папка пользователя
user название вашей домашней папки
Lazarus
Итак приступим. Для начала скачиваем свежую сборку fpc http://www.freepascal.org/download.var . Например fpc-2.4.0.i386-linux.tar и распаковываем (я использовал mc) . Переходим в папку с скриптом установки и устанавливаем (не из под root)
sh install.sh
Указываем папку назначения. Например /home/user/opt/fpc (Замените user на свою домашнюю папку)
Соглашаемся со всеми запросами установшика
Поскольку исходники fpc у меня были в виде rpm то я их просто распаковал в папку ~/opt/fpc/usr
Также я поступил и с Lazarus, распаковав в ~/opt/lazarus
Внимание все остальные rpm пакеты необходимые для lazarus нужно установить через менеджер управления. Например в Fedora gpk-application или перейдите а в папку с rpm Lazarus и дайте команду rpm -ivh lazarus*. Она покажет недостающие пакеты
Скачать можно Lazarus отсюда http://sourceforge.net/projects/lazarus/files/
Запускаем lazarus из терминала
~/opt/lazarus/usr/lib/lazarus/lazarus
При первым запуске Lazarus выдаст несколько предупреждений игнорируем их
Заходим в Environment->Environment Options-> Files
Указываем путь к компилятору (compiler path) ~/opt/fpc/bin/fpc
и исходникам ~/opt/fpc/usr/share/fpcsrc
Проверяем установки Lazarus. Создаем пустой консольный проект File->New...->Console application
И пробуем компилировать Ctrl+F9
После успешной компиляции можно продолжать дальше
MSEIDE
Скачиваем MSEIDE(бинарник и исходники ) http://msegui.org/content/download
Распаковываем все,например, ~/opt/mse_2_2
Делаем символическую ссылку на ~/opt/mse_2_2
ln -s /home/user/opt/mse_2_2 /home/user/opt/mse
Открываем конфигурационный файл ~/.fpc.cfg (в корне домашней папки) . Например gedit
Добавляем следующие строки
-Fu/home/user/opt/mse/msegui/lib/addon/*/
-Fi/home/user/opt/mse/msegui/lib/addon/*/
-Fu/home/user/opt/mse/msegui/lib/common/kernel/i386-linux/
-Fu/home/user/opt/mse/msegui/lib/common/kernel/
-Fi/home/user/opt/mse/msegui/lib/common/kernel/
-Fu/home/user/opt/mse/msegui/lib/common/*/
Запускаем MSEIDE. Настраиваем Settings->Configure MSEIDE
Указываем ${FPCDIR} ~/opt/fpc . ${FPCLIBDIR} ~/opt/fpc/lib/fpc/2.4.0/units/i-386-linux.
${MSEDIR} ~/opt/mse/msegui
Создаём тестовый проект в MSEIDE . Project-> New-> From Template. Указываем
default.prj
Я назвал проект test_mse. Сохраняем и открываем test_mse.pas в Lazarus
Соглашаемся и создаём новый проект
Компиляция
Заходим проект-> параметры проекта->Код
Устанавливаем Стиль модулей в умное связывание. Опционально устанавливаем приоритет размера над скоростью . Включаем умное связывание и отключаем отладочную информацию
Открываем другие и указываем наш конфигурационный файл ~/.fpc.cfg
Пробуем собрать проект
Успешно :)
Навигация по коду
Окружение->Параметры -> CodeTools ->Общие и указываем дополнительные пути через точку с запятой
Например /home/user/opt/mse/msegui/lib/common/db;/home/user/opt/mse/msegui/lib/common/designutils;/home/user/opt/mse/msegui/lib/common/dialogs;/home/user/opt/mse/msegui/lib/common/editwidgets;/home/user/opt/mse/msegui/lib/common/i18n;/home/user/opt/mse/msegui/lib/common/ifi;/home/user/opt/mse/msegui/lib/common/image;/home/user/opt/mse/msegui/lib/common/kernel;/home/user/opt/mse/msegui/lib/common/kernel/i386-linux;/home/user/opt/mse/msegui/lib/common/kernel/i386-win32;/home/user/opt/mse/msegui/lib/common/opengl;/home/user/opt/mse/msegui/lib/common/pascalscript;/home/user/opt/mse/msegui/lib/common/printer;/home/user/opt/mse/msegui/lib/common/regcomponents;/home/user/opt/mse/msegui/lib/common/report;/home/user/opt/mse/msegui/lib/common/serialcomm;/home/user/opt/mse/msegui/lib/common/sysutils;/home/user/opt/mse/msegui/lib/common/unicode;/home/user/opt/mse/msegui/lib/common/widgets
Теперь можно изучать исходники MSE ;)
Работает даже автодополнение :)
Русский язык
Если вы сейчас попробуете воспользоваться русским языком то у вас скорее всего ничего не получиться. Поэтому открываем ваш проект на MSEIDE . Открываем Project->Options->Editor. Устанавливаем Encoding в utf8
Открываем ~/.fpc.cfg и добавляем строчку -Fcutf8
Теперь можно указывать строковые константы на русском.
Отладка
Для того чтобы отлаживать наши приложения необходимо отключить оптимизацию и включить отладочную информация
Заходим проект-> параметры проекта->Код
Отключаем Стиль модулей в умное связывание; Приоритет размера над скоростью ; умное связывание . Включаем отладочную информацию генерировать отладочную информацию для GDB и Выдавать номера строк в ошибках
Опционально
Создаём кнопки быстрого запуска для Lazarus и MSEIDE
Для Lazarus путь запуска ~/opt/lazarus/usr/lib/lazarus/lazarus
Для MSEIDE ~/opt/mse/mseide


Статья с картинками в odf http://narod.ru/disk/18396189000/lazarus_and_mse.odt.html и pdf http://narod.ru/disk/18396226000/lazarus_and_mse.pdf.html

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 02.03.2010 17:39:35
amateur
Городить такой "огород" токо ради автодополнения :)
2 иде для одного приложения :( -эт круть (иль круто).
Ппц...

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 02.03.2010 19:22:11
coyot.rush
amateur 02.03.2010 17:39:35
Городить такой "огород" токо ради автодополнения

1) вы наверно совсем не вникали в текст :(
2) автодополнения пол беды, главное Code Tools :!:

2 иде для одного приложения -эт круть (иль круто).

Несовсем так
Теперь можно изучать исходники MSE

PS
ппц
это когда на твой вопрос тебя посылают на англоязычный форум по MSEIDE :mrgreen:

PSS Имхо Code Tools Rulez :D

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 03.03.2010 10:45:24
amateur
1.
Code Tools
- в сообщении про него ни слова;

2.
Теперь можно изучать исходники MSE
- а что мешало их раньше изучать?

3.
это когда на твой вопрос тебя посылают на англоязычный форум по MSEIDE
- заодно и инглиш :) подучить мона (через нехочу).

4
вы наверно совсем не вникали в текст
совсем наоборот, хорошо почитал и в опене тоже :)

Вы вложили усилия для написания сообщения - молодца. Токо реально это выглядит как
2 иде для одного приложения

Токо не обижайтесь, а то во флуд превратится...

:wink:

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 25.12.2012 19:37:47
alex_alex_alex1
Всё бы хорошо, вот только после этого lazarus не компилирует ничего кроме как от msegui.

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 31.07.2013 13:58:19
suman
Более интереснее результат получается если написать "привет privet" (результат ЮТФ -8).

возвращающие Widestring значит по простому не прикрутить удобство :?

п.с.
Как меня ужо "замахали" эти строки (вот почему не любят буржуи кириллицу, явная эмансипация по языковому признаку :twisted: ).

Re: Компиляция проектов MSEIDE из Lazarus

СообщениеДобавлено: 31.07.2013 14:07:33
debi12345
вот почему не любят буржуи кириллицу,

Потому что кириллическое сообщество внесло пренебрежимо малую контрибцию в опен-сорс-сэсайэти. Вот им и пренебрегли.