Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
Попробую в этой теме описать свои впечатления и найденные грабли при портировании GUI приложения на Linux с использованием библиотеки CrossVCL

Часть 1. Знакомство.

Работа ведется с дистрибутивом Ubuntu Desktop 17.10. Сам дистрибутив был скачан отсюда https://www.ubuntu.com/desktop/1710

Первоначально хотелось перевести простой, но реальный проект. Особенности проекта: однопоточный VCL клиент БД. Компоненты доступа IBX (была надежда, что под линуксом встанут без проблем), внешние компоненты - VirtualTreeView (тут 50/50 взлетит или нет) и MSXML планировалось переписать на родной делфевый TXMLDocument. Проект собирался в XE3 на платформе Win32.

Для начала я попробовал просто откомпилировать в Tokyo на платформе Win32. Получил набор сообщений об изменившихся заголовках. Сообщений было три типа
1) В TDataSet изменились описания некоторых protected методов, а потому мой наследник отказывался компилироваться
2) В IStream изменились var параметры методов с LargeInt (Int64) на LargeUInt (UInt64)
3) В IBX внутренние свойства SqlVar изменили тип с AnsiString на string

Эти ошибки я поправил и под Win32 проект собрался. После этого я запустил компиляцию по Linux и отгреб сообщение о неизвестном типе AnsiString. После этого я понял, что все не так просто и для переноса придется попотеть.


С уважением, Vasilisk
10 янв 18, 17:11    [21094279]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
_Vasilisk_
После этого я запустил компиляцию по Linux и отгреб сообщение о неизвестном типе AnsiString

Для справки: в некстгене они выкинули поддержку AnsiString, но в 10.1 одумались и вернули, сократив её до двух поддерживаемых типов: RawByteString и Utf8String. С этим портирование старого кода на некстген будет проще.
10 янв 18, 17:23    [21094316]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_
После этого я запустил компиляцию по Linux и отгреб сообщение о неизвестном типе AnsiString. После этого я понял, что все не так просто и для переноса придется попотеть.

Меняй на RawByteString.
10 янв 18, 17:23    [21094319]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
Часть 2. Компилируем

Тогда было принято решение посмотреть пока тестовый проект. В проект был положен TDBGrid и кнопка с действием DataSet.Open. В качестве датасета был выбран все тот же IBX (TIBDataSet). Компилятор сказал, что модуля IBExternals он знать не знает. Возможно, это следствие моей криво-крякнутой студии, потому разбирание с этим вопросом я пока отложил, а прицепил грид к FireDac. И тут началось.

Первая ошибка, с которой я столкнулся, это сообщение
[DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lgcc_s
C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lc
C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -ldl
C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lpthread
C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lm

После гугления нашел, что не хватает пакета gcc-6
apt-get install gcc-6
и обновления SDK ошибка поменялась
ld-linux.exe: error: cannot find -lGL
на сайте Крюкова нашел рекомендацию. Поставить пакет libgl1-mesa-dev. После установки ошибка изменилась
[DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lz
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::deflate(System::Zlib::z_stream&, int): error: undefined reference to 'deflate'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::deflateEnd(System::Zlib::z_stream&): error: undefined reference to 'deflateEnd'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::inflate(System::Zlib::z_stream&, int): error: undefined reference to 'inflate'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::inflateEnd(System::Zlib::z_stream&): error: undefined reference to 'inflateEnd'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::inflateReset(System::Zlib::z_stream&): error: undefined reference to 'inflateReset'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::crc32(unsigned long, unsigned char*, unsigned int): error: undefined reference to 'crc32'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::deflateInit2_(System::Zlib::z_stream&, int, int, int, int, int, char*, int): error: undefined reference to 'deflateInit2_'
c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\release\System.ZLib.o:System.ZLib:function System::Zlib::inflateInit2_(System::Zlib::z_stream&, int, char*, int): error: undefined reference to 'inflateInit2_'
Крюков сказал, что с проблемами zlib это к Эмбаркадере, но у него вывесили список пакетов, после установки которых все собралось
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev


После небольших танцев с PAServer (почему-то не резолвилось имя Linux машины) все задеплоилось на удаленную машину
10 янв 18, 17:58    [21094453]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
rgreat
Меняй на RawByteString.
Пока это не есть проблема
10 янв 18, 17:59    [21094459]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_
После небольших танцев с PAServer (почему-то не резолвилось имя Linux машины) все задеплоилось на удаленную машину
Запустилось? :)
10 янв 18, 18:10    [21094477]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
rgreat
Запустилось? :)
Будут еще части :)
10 янв 18, 18:15    [21094485]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3651
А почему бы не собрать сначала 64-версию под nextgen компилятор (исправив косяки в коде), а потом уже переносить под линукс?
10 янв 18, 18:21    [21094505]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
JaDi
А почему бы не собрать сначала 64-версию под nextgen компилятор (исправив косяки в коде), а потом уже переносить под линукс?
Под виндой nextgen извращения не работают.

автор
Any code compiled for Windows that is marked with NEXTGEN will be ignored.
10 янв 18, 18:34    [21094552]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_
вывесили список пакетов, после установки которых все собралось
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev
Вот за вот эту красоту я и не люблю линукс...
10 янв 18, 18:41    [21094575]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Вот за вот эту красоту я и не люблю линукс...

Ну да, в ендюзерском дистре не установлены девелоперские пакеты. Это то же самое, что нелюбить винду из-за неустановленного Windows SDK. Глупости какие... Кроме того, не помню, чтобы абракадабра давала инструкции относительно сборки в окружении 17.10, которая, кстати, даже не LTS, а промежуточная версия для отладки новой функциональности.
10 янв 18, 19:00    [21094624]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
Ну да, в ендюзерском дистре не установлены девелоперские пакеты. Это то же самое, что нелюбить винду из-за неустановленного Windows SDK. Глупости какие... Кроме того, не помню, чтобы абракадабра давала инструкции относительно сборки в окружении 17.10, которая, кстати, даже не LTS, а промежуточная версия для отладки новой функциональности.
Сравни сложность по установке какого-нибуть Visual C++ Runtime из 1-го файла и игры в "угадай и собери нужные пакеты" под текущую версию линукса (чтобы было веселей - в offline режиме).
10 янв 18, 19:16    [21094646]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
Часть 3. Запускаем

После деплоя и попытки запуска я получил ошибку
No protocol specified
поначалу я подумал, что это какие-то грабли при коннекте к БД, но потом нашел, что это проблема запуска GUI приложения из под sudo. Здесь были описаны пути решения, но т.к. я под sudo оказался случайно (забыл выйти после установки пакетов), то я просто вышел из этого режима и приложение запустилось (к слову, сегодня я не смог повторить эту ошибку. Сегодня все запускается и так, и так)

После запуска, при попытке коннекта, приложение ожидаемо не нашло клиента Interbase. Отдельного пакета с клиентом я не нашел, поэтому скачал с Эмбаркадеры полную версию InterbaseXE7. Переписал инсталляху на линукс-машину, распаковал, запустил и установил Client Only

При попытке коннекта к базе (база на удаленном сервере), я получил ошибку, что компьютера с таким именем не существует (таки где-то криво настроен нейм-резолвинг Windows-Linux). Но самое плохое, что это сообщение было выведено крякозябрами (вывод юникода в анси кодировке). После изменения в свойствах соединения имени сервера на его IP-адрес, к базе я подключился и данные отобразились в гриде. Но вся кирилица отборазилась в виде вопросов. В Win32 версии все отображается корректно. Пока на этом останавливаюсь и буду искать способ решения этой проблемы
10 янв 18, 19:23    [21094656]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Сравни сложность по установке какого-нибуть Visual C++ Runtime из 1-го файла и игры в "угадай и собери нужные пакеты" под текущую версию линукса (чтобы было веселей - в offline режиме).

dev-пакеты, это не аналог библиотек сишного рантайма, это как-раз аналог SDK, в котором лежат .lib и .obj для сборки. И я тебе ответственно заявляю, что установить любые пакеты в линуксе сильно проще, чем те же редистрибутаблы сишные, которые тоже нужно ещё найти, и вообще понять, какая версия нужна софту. Про танцы с sdk вообще молчу. В тоже время, если следовать инструкциям абракадабры, и ставить LTS (а текущий LTS - 16.04) версию с Ubuntu SDK, проблем с компиляцией под линукс нет и никакие доустановки пакетов не требуются. ССЗБ, короче.
10 янв 18, 19:28    [21094672]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Kazantsev Alexey
dev-пакеты, это не аналог библиотек сишного рантайма, это как-раз аналог SDK, в котором лежат .lib и .obj для сборки

Это тот, который автоматом по-дефолту ставится со студией? :)
10 янв 18, 19:40    [21094687]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
dev-пакеты, это не аналог библиотек сишного рантайма, это как-раз аналог SDK, в котором лежат .lib и .obj для сборки. И я тебе ответственно заявляю, что установить любые пакеты в линуксе сильно проще, чем те же редистрибутаблы сишные
Это верно разве что для обожающих консольку "красноглазиков".

, которые тоже нужно ещё найти, и вообще понять, какая версия нужна софту.
99% софта под виндой не требует поиска дистрибутивов и работает "из коробки".

Про танцы с sdk вообще молчу.
Дык а чего там говорить то? Все ставиться вместе со средой. Автоматом. И пофиг какая там версия винды (если она еще поддерживается, конечно).

В тоже время, если следовать инструкциям абракадабры, и ставить LTS (а текущий LTS - 16.04) версию с Ubuntu SDK, проблем с компиляцией под линукс нет и никакие доустановки пакетов не требуются. ССЗБ, короче.
Так и вижу что Студия или Дельфя требуют для безгеморойной работы только Win8.1 (причем именно ver. 6.3.9200).
10 янв 18, 19:41    [21094689]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
alekcvp
Это тот, который автоматом по-дефолту ставится со студией? :)

С моей студией не ставится.
10 янв 18, 19:46    [21094698]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
С моей студией не ставится.

Картинка с другого сайта.
10 янв 18, 19:53    [21094716]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Это верно разве что для обожающих консольку "красноглазиков".

Это верно для любого, кто хоть раз попробовал. Теоретикам не понять.

rgreat
99% софта под виндой не требует поиска дистрибутивов и работает "из коробки".

Да-да, расскажи мне, а то я за 18 виндовых лет мало чего видел...

rgreat
Дык а чего там говорить то? Все ставиться вместе со средой. Автоматом. И пофиг какая там версия винды (если она еще поддерживается, конечно).

Не ставится. С шелом не ставится, например. И про любую, версию винды не звизди, сейчас SDK десяточку хочет.

rgreat
Так и вижу что Студия или Дельфя требуют для безгеморойной работы только Win8.1 (причем именно ver. 6.3.9200).

Ты правда не понимаешь о чём тебе пишут? Речь не о том, что софт будет работать только с определённой версией дистра - работать он будет практически везде - речь о том, что девелоперских пакетов, которые нужны для сборки софта, нет в десктопном дистре по дефолту. Для этого нужно ставить SDK, ну или вот так ручками ковыряться в зависимостях. Как ставить на LTS вендор объясняет, а кто желает гемороя тот его получает, обычно.
10 янв 18, 20:13    [21094769]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
А кто скажет, удаленная отладка на Линуксе не работает, что ли?

К сообщению приложен файл. Размер - 5Kb
10 янв 18, 20:15    [21094771]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_
А кто скажет, удаленная отладка на Линуксе не работает, что ли?

У меня работала.

Но я на 16.04 пробовал.

Ты PAServer запустил?
10 янв 18, 20:19    [21094776]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
rgreat
Ты PAServer запустил?
Конечно. Я же через него деплою
10 янв 18, 20:21    [21094780]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
rgreat
Ты PAServer запустил?
Я даже профиль не могу выбрать, когда указываю использование Linux отладчика
10 янв 18, 20:23    [21094784]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
Это верно для любого, кто хоть раз попробовал. Теоретикам не понять.
Раз 5 приходилось. Раза 3 даже получилось.
Но тут как я и говорил это "красноглазик-френдли" технология. Я видимо недостаточно think different.

Да-да, расскажи мне, а то я за 18 виндовых лет мало чего видел...
Ну давай вместе понастольгируем по приколам Win ME.

Не ставится. С шелом не ставится, например. И про любую, версию винды не звизди, сейчас SDK десяточку хочет.

1. Дельфям SDK вообще не нужен.
2. MS VS ставит все что нужно само, при условии что выбранная версия студии вообще поддерживает нужную винду.

Ты правда не понимаешь о чём тебе пишут? Речь не о том, что софт будет работать только с определённой версией дистра - работать он будет практически везде - речь о том, что девелоперских пакетов, которые нужны для сборки софта, нет в десктопном дистре по дефолту. Для этого нужно ставить SDK, ну или вот так ручками ковыряться в зависимостях. Как ставить на LTS вендор объясняет, а кто желает гемороя тот его получает, обычно.
А ты понимаешь?
Почему в винде можно легко найти гуглем, скачать и установить дистрибутив в 1м файле и все заработает, а в линухе нет?
10 янв 18, 20:32    [21094798]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_,

К сообщению приложен файл. Размер - 124Kb
10 янв 18, 20:37    [21094806]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325


К сообщению приложен файл. Размер - 52Kb
10 янв 18, 20:37    [21094807]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
rgreat,

Это деплой. Так и я делаю. Ты мне отладчик покажи
10 янв 18, 20:44    [21094817]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Но тут как я и говорил это "красноглазик-френдли" технология. Я видимо недостаточно think different.

Со своей ориентацией ты сам разберешься, а вот тот факт, что написать строку в консоли быстрее и проще чем облазить вендорский сайт, оспорить сложно.

rgreat
Ну давай вместе понастольгируем по приколам Win ME.

Какая Me... Поставь, например, Turbo Delphi 2006 на WinXP-7-8-10.

rgreat
1. Дельфям SDK вообще не нужен.
2. MS VS ставит все что нужно само, при условии что выбранная версия студии вообще поддерживает нужную винду.

1. Дельфя некоторые .obj и .lib для винды таскает за собой. Захочешь UWP bridge - сразу понадобится SDK.
2. То есть мне для SDK ещё ненужную студию ставить? Спасибо, я пешком постою.

rgreat
А ты понимаешь?
Почему в винде можно легко найти гуглем, скачать и установить дистрибутив в 1м файле и все заработает, а в линухе нет?

Как раз в линуксе всё просто: sudo apt install package-name. Всё. Кстати, с интересом выслушаю, как из виндового SDK поставить только то, что требуется для работы UWP bridge, без выкачивания 10Gb говна.
10 янв 18, 20:50    [21094826]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
_Vasilisk_
Ты мне отладчик покажи
Я балбес. Никаких аттачей. Просто F9
10 янв 18, 20:54    [21094830]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
_Vasilisk_
rgreat,

Это деплой. Так и я делаю. Ты мне отладчик покажи


К сообщению приложен файл. Размер - 119Kb
10 янв 18, 20:57    [21094834]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
_Vasilisk_
Но вся кирилица отборазилась в виде вопросов
Ноги растут отсюда
function TStringField.GetValue(var Value: string): Boolean;
begin
  Result := GetData(FIOBuffer);
  if Result then
    Value := TMarshal.ReadStringAsAnsi(TPtrWrapper.Create(FIOBuffer));
end;

class function TMarshal.ReadStringAsAnsi(Ptr: TPtrWrapper; Len: Integer): string;
begin
  Result := ReadStringAsAnsi(DefaultSystemCodePage, Ptr, Len);
end;

class function TMarshal.ReadStringAsAnsi(CodePage: Word; Ptr: TPtrWrapper; Len: Integer): string;
var
  dstLen: Integer;
begin
  if Len < 0 then
    if (Ptr.Value = nil) or (_PAnsiChr(Ptr.Value)^ = #0) then
      Exit('')
    else
      Len := _PCharLen(_PAnsiChr(Ptr.Value));

  dstLen := UnicodeFromLocaleChars(CodePage, 0, Pointer(Ptr.Value), Len + 1, nil, 0);
  if dstLen > 0 then
  begin
    SetLength(Result, dstLen - 1);
    if dstLen > 1 then // more than just null terminator
      UnicodeFromLocaleChars(CodePage, 0, Pointer(Ptr.Value), Len, Pointer(Result), dstLen);
  end
  else
  begin
    Result := '';
  end;
end;
DefaultSystemCodePage = 65001, а данные лежат в 1251. Вот такой код
var
  LBuf: TValueBuffer;
  LEnc: TEncoding;
begin
  SetLength(LBuf, 600);
  DBGrid1.SelectedField.GetData(LBuf);
  LEnc := TEncoding.GetEncoding(1251);
  try
    ShowMessage(LEnc.GetString(LBuf));
  finally
    LEnc.Free;
  end;
end;
работает. Данные в базе лежат в 1251. В свойствах соединения указана Codepage Win1251. Кто не прав?
10 янв 18, 21:07    [21094846]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
Со своей ориентацией ты сам разберешься, а вот тот факт, что написать строку в консоли быстрее и проще чем облазить вендорский сайт, оспорить сложно.

Ну да, конечно, вбить по памяти "freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev" гораздо "проще" чем найти в гугле "VC Redist" и кликнуть по ссылке. Да да, верьте мне!

А в общем ну его этот древний холивар.

Картинка с другого сайта.
10 янв 18, 21:09    [21094850]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Но не могу удержаться.
Картинка с другого сайта.
Сорри. ;)
10 янв 18, 21:17    [21094859]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Ну да, конечно, вбить по памяти "freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev" гораздо "проще" чем найти в гугле "VC Redist" и кликнуть по ссылке. Да да, верьте мне!

И всё таки ты не понимаешь разницы... Сишный рантайм и дев-пакеты это совсем разные вещи. Аналогом отсутствия рантайма могло бы быть отсутствие какой-либо динамически загружаемой библиотеки, но такое, обычно, не встречается у софта, который ставится из пакетов т.к. все зависимости прописаны и менеджер пакетов их подтянет. Дев-пакеты нужны для сборки софта, а не для запуска.
10 янв 18, 21:19    [21094862]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Но не могу удержаться.

Сеанс аутотренинга виндовых теоретиков
10 янв 18, 21:20    [21094868]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
Сишный рантайм и дев-пакеты это совсем разные вещи
Ну ок, вместо "VC Runtime" подсунь в гугль "windws 7 sdk".
Суть не изменится. Качаем инсталятор и кликаем на ехешник.
10 янв 18, 21:26    [21094875]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
Ну ок, вместо "VC Runtime" подсунь в гугль "windws 7 sdk".
Суть не изменится. Качаем инсталятор и кликаем на ехешник.

Ищи его, качай его, наверняка ещё каую нибудь версию дотнета захочет (десяточный, например, хочет)...

В убунте всё проще: sudo apt install ubuntu-sdk
10 янв 18, 21:37    [21094893]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
Ещё пример "линуксовых ужасов".

Понадобился мне позавчера hex-редактор для винды. Гуглил, читал википедию на предмет перечисления оных и кое-какого сравнения. Ходил на сайты авторов. В результате скачал HxDen. Всё устраивает, всё работает, но времени потратил много. Потом решил поставить такой редактор ещё и на линукс. Открыл Ubuntu Software, в поиск ввёл hex, в первых же строчках - ghex, посмотрел скриншот, поставил. Тот же вариант для консоли: поиск - apt search "hex editor". В первых строчках выдачи - ghex. Установка sudo apt install ghex. Если нужен портабельный ищем в снапах snap find "hex editor". Установка тоже одной командой. Быстро и просто, и без сказок о линуксовых ужасах.
10 янв 18, 21:41    [21094904]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
Понадобился мне позавчера hex-редактор для винды. Гуглил, читал википедию на предмет перечисления оных и кое-какого сравнения. Ходил на сайты авторов.
Вбил в гугль "HEX EDITOR".
4-я ссылка как раз на него. Выше - википедия и ссылки на 2 платных варианта.

Кликнул, скачал, установил. Потратил меньше минуты.
10 янв 18, 21:50    [21094917]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
defecator
Member

Откуда:
Сообщений: 38569
Kazantsev Alexey
Ещё пример "линуксовых ужасов".

Понадобился мне позавчера hex-редактор для винды. Гуглил, читал википедию на предмет перечисления оных и кое-какого сравнения. Ходил на сайты авторов. В результате скачал HxDen. Всё устраивает, всё работает, но времени потратил много. Потом решил поставить такой редактор ещё и на линукс. Открыл Ubuntu Software, в поиск ввёл hex, в первых же строчках - ghex, посмотрел скриншот, поставил. Тот же вариант для консоли: поиск - apt search "hex editor". В первых строчках выдачи - ghex. Установка sudo apt install ghex. Если нужен портабельный ищем в снапах snap find "hex editor". Установка тоже одной командой. Быстро и просто, и без сказок о линуксовых ужасах.

видишь ли, для тех, кто сидит в винде, это всё ровно так же просто найти и поставить,
как и для тех, кто сидит в линуксе.
Ты уже упёрся в очередной холивар
10 янв 18, 21:51    [21094919]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Kazantsev Alexey
2. То есть мне для SDK ещё ненужную студию ставить? Спасибо, я пешком постою.

А зачем тебе SDK если для написания приложений? А если ты на чём-то другом пишешь, то это к этому другому вопрос - почему оно всё нужное с собой не тащит. Но даже и так большинство SDK есть в виде отдельного ISOшника.
10 янв 18, 21:52    [21094922]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
defecator
Member

Откуда:
Сообщений: 38569
alekcvp
Kazantsev Alexey
2. То есть мне для SDK ещё ненужную студию ставить? Спасибо, я пешком постою.

А зачем тебе SDK если для написания приложений? А если ты на чём-то другом пишешь, то это к этому другому вопрос - почему оно всё нужное с собой не тащит. Но даже и так большинство SDK есть в виде отдельного ISOшника.

+100
зачем SDK без студии ?
10 янв 18, 21:54    [21094924]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
rgreat
4-я ссылка как раз на него. Выше - википедия и ссылки на 2 платных варианта.

У меня выдача другая. Перед ним ещё пара вариантов.

rgreat
Кликнул, скачал, установил. Потратил меньше минуты.

Ну если знать что качать...
10 янв 18, 21:57    [21094930]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
rgreat
Вбил в гугль "HEX EDITOR".
4-я ссылка как раз на него. Выше - википедия и ссылки на 2 платных варианта.

Меня больше радует, как человек сначала изучил Hex-редакторы для винды на википедии, прошерстил даже сайты авторов, а потом пошёл и поставил в линухе первый попавшийся, даже без скриншота. И это преподносится как преимущество операционной системы
10 янв 18, 21:59    [21094934]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Maxim Rusov
Member

Откуда: Москва-Питер
Сообщений: 2388
А зачем Delphi .NET, бладж? Вчера пол дня убил чтобы эту хрень установить.
10 янв 18, 22:00    [21094939]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
defecator
видишь ли, для тех, кто сидит в винде, это всё ровно так же просто найти и поставить

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

alekcvp
А зачем тебе SDK если для написания приложений?

defecator
зачем SDK без студии ?

Пишу на Delphi. SDK нужен для UWP bridge. Такой ответ устраивает?
10 янв 18, 22:02    [21094942]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
alekcvp
Меня больше радует, как человек сначала изучил Hex-редакторы для винды на википедии, прошерстил даже сайты авторов, а потом пошёл и поставил в линухе первый попавшийся, даже без скриншота

А меня вот не радует, что находятся кадры, которые даже прочитать написанное не осиливают:
Открыл Ubuntu Software, в поиск ввёл hex, в первых же строчках - ghex, посмотрел скриншот, поставил.
10 янв 18, 22:04    [21094944]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Kazantsev Alexey
А меня вот не радует, что находятся кадры, которые даже прочитать написанное не осиливают:

Давно просто с линухом работал, раньше мне apt-get в консоли скриншоты не показывала :)
10 янв 18, 22:06    [21094946]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Maxim Rusov
А зачем Delphi .NET, бладж? Вчера пол дня убил чтобы эту хрень установить.

Для рефакторинга и прочих модных приблуд. Эмбы так активно развивают дельфю, что сами сами предпочитают писать на C# :)
10 янв 18, 22:07    [21094950]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
alekcvp
Давно просто с линухом работал, раньше мне apt-get в консоли скриншоты не показывала :)

Видимо, мне и Ubuntu Software выделить нужно было, для особенных читателей...
10 янв 18, 22:09    [21094954]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
alekcvp
Member

Откуда:
Сообщений: 1088
Kazantsev Alexey
alekcvp
Давно просто с линухом работал, раньше мне apt-get в консоли скриншоты не показывала :)

Видимо, мне и Ubuntu Software выделить нужно было, для особенных читателей...

Выделяй, я понятия не имею что это
10 янв 18, 22:39    [21095007]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Док
Member

Откуда: Казань
Сообщений: 5701
Как начинающий могу заметить, что на Линуксе порог вхождения выше, чем на Винде. Но потом намного проще, когда интуитивно в консоли набираешь apt-get install <название проги> и среда сама ставит то, о существовании чего ты догадывался, но точно не знал :)

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

Единственный плюс, линь сам скажет, каких пакетов ей не хватает. Опять же, в отличие от. Дальше гугл. Один раз нашел весь перечень недостающих пакетов, написал себе в памятку и в следующий раз копипастом все ставится за 5 мин.
10 янв 18, 23:19    [21095101]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
Док
И да, читаю топик и дивлюсь сложностям запуска дельфей под никсами. В отличии от.

Да нет никаких сложностей на самом деле. У дельфей на линуксе другая проблема - отсутствие поддержки некстгена со стороны стороннего кода. Что ни возьми - всё пилить нужно.
10 янв 18, 23:24    [21095117]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Kazantsev Alexey
У дельфей на линуксе другая проблема - отсутствие поддержки некстгена со стороны стороннего кода.
Скорей вообще само наличие этого самого NextGen-а.

Не было-бы ARC, ZeroBasedStrings, отрезаных ByteString's-ов и т.п. шняги - было бы гораздо проще жить.
11 янв 18, 00:10    [21095244]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
alekcvp
Для рефакторинга и прочих модных приблуд. Эмбы так активно развивают дельфю, что сами сами предпочитают писать на C# :)
Справедливости ради для дотнете расширения к IDE писал еще борланд с рецедивами в CodeGear.
Причем это был даже не C# а давно почивший в бозе J#.

Вроде как сама эмба вяло рассматривает вопрос о том чтобы дотнет куски вырезать напрочь из IDE. Когда нибуть...
11 янв 18, 02:15    [21095397]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
lionsatman
Member

Откуда:
Сообщений: 31
Сорри за оффтоп, но...

Kazantsev Alexey
На линуксе я уже несколько лет... Пишу на Delphi.


Вот это уже интересно. Как обустроили работу с IDE Delphi под Linux?

p.s. Переползаю в Linux. Доводов оставаться под Windows всё меньше.
11 янв 18, 02:30    [21095400]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1385
Kazantsev Alexey
Какая Me... Поставь, например, Turbo Delphi 2006 на WinXP-7-8-10.


А что там не так? Ставил Turbo Delphi на WinXP. Запускалось и тестовый проект компилило.
Я правда не стал работать в TD ибо отпугнул новый интерфейс, так и остался на D7 :)
11 янв 18, 03:54    [21095410]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1385
Кстати, мои программы, написанные на D7 под WinXP-Win10 без проблем работают на Linux под WINE.
11 янв 18, 04:00    [21095412]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Док
Member

Откуда: Казань
Сообщений: 5701
fraks
написанные на D7 под WinXP-Win10 без проблем работают на Linux под WINE

а как из дельфей работает FastReport под вайном?
11 янв 18, 08:05    [21095487]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
Kazantsev Alexey
Как раз в линуксе всё просто: sudo apt install package-name
сишные/плюсовые либы всяческие практически аналогично просто: vcpkg install <список либ>
11 янв 18, 10:00    [21095820]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30818
Док
fraks
написанные на D7 под WinXP-Win10 без проблем работают на Linux под WINE

а как из дельфей работает FastReport под вайном?
Оч. интересный вопрос. Аналогично хочется узнать про FireDAC, Ehlib, DevExpress.
11 янв 18, 10:25    [21095909]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9583
автор
а вот тот факт, что написать строку в консоли быстрее и проще чем облазить вендорский сайт, оспорить сложно

Все еще проще:
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Linux_Application_Development
LSV
FireDAC

Ему ничего особого не нужно, главное чтобы DB клиент работал
11 янв 18, 11:47    [21096360]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
lionsatman
Вот это уже интересно. Как обустроили работу с IDE Delphi под Linux?

Delphi живёт в виртуалке.

fraks
А что там не так? Ставил Turbo Delphi на WinXP. Запускалось и тестовый проект компилило.

А то, что списочек prequirements там прелестный, и ставить всё нужно ручками:
Microsoft .NET Framework v1.1 Redistributable
Microsoft .NET Framework v1.1 SP1
Microsoft .NET SDK v1.1
Microsoft Internet Explorer 6 SP1
Microsoft Visual J# v1.1 Redistributable
Microsoft XML Core Services (MSXML) v4.0 SP2

Кроме того, у следующих версий или их обновлений тоже есть прикольные требования к версиям Windows Installer (3.1, 4, 4.5).

vavan
сишные/плюсовые либы всяческие практически аналогично просто: vcpkg install <список либ>

Последняя десятка ни о каком vcpkg не знает.
11 янв 18, 12:16    [21096533]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
defecator
Member

Откуда:
Сообщений: 38569
Kazantsev Alexey

vavan
сишные/плюсовые либы всяческие практически аналогично просто: vcpkg install <список либ>

Последняя десятка ни о каком vcpkg не знает.

https://docs.microsoft.com/ru-ru/cpp/vcpkg
11 янв 18, 12:20    [21096549]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
defecator
https://docs.microsoft.com/ru-ru/cpp/vcpkg

Прикольные пререквизиты:
Windows 10, 8.1, or 7
Visual Studio 2017 or Visual Studio 2015 Update 3
Git


Не, я уж лучше буду пользоваться заготовленными редистрибутаблами
11 янв 18, 13:01    [21096760]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
Kazantsev Alexey
Последняя десятка ни о каком vcpkg не знает
один раз придется таки напрячься с гитхаба, да
11 янв 18, 13:02    [21096766]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
Kazantsev Alexey
Прикольные пререквизиты:
Windows 10, 8.1, or 7
Visual Studio 2017 or Visual Studio 2015 Update 3
Git
дык оно из сорцов собирает, куды деваться
11 янв 18, 13:02    [21096772]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
vavan
куды деваться
да и собсно если речь о пакетах/либах для разрабов то вообще естественно
11 янв 18, 13:07    [21096812]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2924
vavan
да и собсно если речь о пакетах/либах для разрабов то вообще естественно

Речь о разрешении проблемы, когда я запускаю софт, а он мне говорит: "точка входу/модуль бла-бла не найден".
11 янв 18, 13:17    [21096883]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
Kazantsev Alexey
Речь о разрешении проблемы, когда я запускаю софт, а он мне говорит: "точка входу/модуль бла-бла не найден"
в таком случае я дезавуирую свое заявление оно именно для разрабов
11 янв 18, 14:30    [21097390]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Любезный
Member

Откуда:
Сообщений: 545
автор
а как из дельфей работает FastReport под вайном?

Хреновато. Я, правда, пробовал четверку пару лет назад. Не отображались компоненты RichView, тексты в мемо были с другими шрифтами и соответственно имели иные габариты.
11 янв 18, 14:51    [21097621]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Vizit0r
Member

Откуда:
Сообщений: 563
интересная тема ожидаемо переросла в холивар "вин vs линух".
11 янв 18, 15:23    [21097846]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2534
Vizit0r
интересная тема ожидаемо переросла в холивар "вин vs линух".



нет
у кого только Win тот не парится
11 янв 18, 15:26    [21097873]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
Vizit0r
интересная тема ожидаемо переросла в холивар "вин vs линух".
Отож. А цель была просто рассказать о граблях. Теперь, наверное, нужно просить Рустама прибить тему
11 янв 18, 15:28    [21097893]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Vizit0r
Member

Откуда:
Сообщений: 563
_Vasilisk_
Vizit0r
интересная тема ожидаемо переросла в холивар "вин vs линух".
Отож. А цель была просто рассказать о граблях. Теперь, наверное, нужно просить Рустама прибить тему


Создай новую тему, перенеси туда свои посты.
А этот под нож.
11 янв 18, 15:39    [21097963]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
Док
Member

Откуда: Казань
Сообщений: 5701
_Vasilisk_,

а чего ты ожидал? Тебе надо было выложить результаты своих изысканий где-нить в блоге, а сюда положить ссылку.
11 янв 18, 15:44    [21097994]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
rgreat
Member

Откуда:
Сообщений: 4325
Док,

Да пускай пишет дальше.

Тема холивара уже себя изжила.
11 янв 18, 15:51    [21098039]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10487
Vizit0r
Создай новую тему, перенеси туда свои посты.
И что изменится?
Док
_Vasilisk_,

а чего ты ожидал?
Действительно
11 янв 18, 16:04    [21098116]     Ответить | Цитировать Сообщить модератору
 Re: CrossVCL впечатления  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12230
Может кому пригодится?

SynEdit for CrossVcl
https://github.com/eugenekryukov/SynEdit
12 фев 18, 09:57    [21184533]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Delphi Ответить