Сделал виртуалку с Mint 19.3 (всё по умолчанию)
поставил пакет open-vm-tools. добавил общую папку, скопировал Paserver из поставки
Paserver запустился
Запустил создание SDK в Delphi - поругалось на дубликаты заголовочников, на что я ничтоже сумняшеся сказал - переписывай нафиг.
Простейший консольный проект не скомпилировался - не смог найти модули
C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -ldl
C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lpthread
C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lm
чё за фигня - непонятно.
Решил попробовать с рекомендуемой Убунтой.
Сделал виртуалку с Kubuntu 18.04 (так же всё по умолчанию)
запустил PAServer
сделал SDK - такая же фигня.
Стал копать в пакетах - ополучалось что нет заголовочников для gcc
посмотрел - в списка пакетов у меня есть gcc-7-base
поставил к нему пает libgcc-7-dev
Обновил SDK - проект скомпилировался
Но вот при запуске уже среда ругалась на отсутствие коннекта с виртуалкой Mint (я её выключил)
Оказалось, что в настройках отделяются SDK и Connection Profile, и каждый из них надо отдельно задавать "По умолчанию" - в файле проекта это не настраивается - только в IDE.
при запуске из среды, файл проекта сохраняется в каталоге
/home/(user)/PAServer/scratch-dir/user1-Kubuntu 18.04/(project name)/
А вот инфа о простом консольном проекте
program LinuxTest;из systemmonitor
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
begin
try
writeln('Это линукс-тест من يحكم ألمانيا، وما الذي يشغل السياسة');
writeln('Press Enter to continue');
Readln;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Summary
The process LinuxTest (with pid 10949) is using approximately 5.3 MB of memory.
It is using 4.1 MB privately, and a further 5.6 MB that is, or could be, shared with other programs.
Dividing up the shared memory between all the processes sharing that memory we get a reduced shared memory usage of 1270.0 KB. Adding that to the private usage, we get the above mentioned total memory footprint of 5.3 MB.
Library Usage
The memory usage of a process is found by adding up the memory usage of each of its libraries, plus the process's own heap, stack and any other mappings.
Private
1680 KB /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
988 KB /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
748 KB /home/vova/PAServer/scratch-dir/user1-Kubuntu 18.04/LinuxTest/LinuxTest
268 KB /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
232 KB [heap]
80 KB /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
56 KB /usr/lib/locale/locale-archive
36 KB /lib/x86_64-linux-gnu/libm-2.27.so
36 KB /lib/x86_64-linux-gnu/libc-2.27.so
24 KB [stack]
12 KB /lib/x86_64-linux-gnu/libpthread-2.27.so
12 KB /lib/x86_64-linux-gnu/ld-2.27.so
8 KB /lib/x86_64-linux-gnu/libdl-2.27.so
8 KB /lib/x86_64-linux-gnu/libgcc_s.so.1
Shared
1472 KB /lib/x86_64-linux-gnu/libc-2.27.so
1120 KB /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
1004 KB /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
728 KB /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
484 KB /lib/x86_64-linux-gnu/libm-2.27.so
360 KB /usr/lib/locale/locale-archive
152 KB /lib/x86_64-linux-gnu/ld-2.27.so
148 KB /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
100 KB /lib/x86_64-linux-gnu/libpthread-2.27.so
84 KB /lib/x86_64-linux-gnu/libgcc_s.so.1
44 KB /home/vova/PAServer/scratch-dir/user1-Kubuntu 18.04/LinuxTest/LinuxTest
12 KB /lib/x86_64-linux-gnu/libdl-2.27.so
4 KB [vdso]
Totals
Private 4188 KB (= 3628 KB clean + 560 KB dirty)
Shared 5712 KB (= 5712 KB clean + 0 KB dirty)
Rss 9900 KB (= Private + Shared)
Pss 5458 KB (= Private + Shared/Number of Processes)
Swap 0 KB
если запустить из оконой консоли (Konsole) - то увидим нормальный юникод:
А вот в настроящей консоли (по крайней мере - из коробки) - всё не так радужно:
Для отдельных модулей потребуется ставить дополнительные пакеты, например, если компилятор выдает ошибку вида
ld-linux.exe: error: cannot find -lc
значит нужно поставить на Линукс пакет build-essential и обновить SDK
а если
ld-linux.exe: error: cannot find -lz
то модуль zlib1g-dev
System.Net.HttpClient - требует пакета libcurl4-openssl-dev
Мне очень помог список пакетов из поста
https://community.idera.com/developer-tools/b/blog/posts/preparing-ubuntu-16-04-lts-for-linux-development-with-upcoming-delphi-10-2---part-2
sudo apt-get install joe wget p7zip-full curl build-essential zlib1g-dev libcurl4-gnutls-dev |
Я ставил не все - как я понял, много библиотек уже стоит из коробки
Debug | Release | |
Размер простого приложения | 2MB | 816,5 kB |
Если добавить Classes | 7,8 MB | 3 MB |
Если добавить еще один датамодуль | 7,9 MB | 3,0 MB |
Если добавить IdHttp | 14,9 MB | 4,6 MB |
Если добавить SSL-handler | 14,9 MB | 4,6 MB |
Если заменить Indy на THTTPClient | 12,1 MB | 4,5 MB |
Кстати, THTTPClient не требует явного указания на использование SSL, прекрасно подключается к сайту с TLS 1.2
Комментариев нет:
Отправить комментарий