Jump to content

Lars Fosdal

Administrators
  • Content Count

    3416
  • Joined

  • Last visited

  • Days Won

    113

Everything posted by Lars Fosdal

  1. Lars Fosdal

    Get started writing Linux apps

    Defintively a valid point. You can install 18.04 in a VB VM as well, and the rest remains the same.
  2. Lars Fosdal

    ICS for Linux?

    TimeSpan allows you to measure in milliseconds without having to think about the underlying details.
  3. Lars Fosdal

    ICS for Linux?

    An cleaner alternative to GetTickCount, but perhaps a little more costly is System.TimeSpan and System.Diagnostics.TStopWatch?
  4. Lars Fosdal

    Get started writing Linux apps

    You could always leave a comment here instead 🙂
  5. Lars Fosdal

    Get started writing Linux apps

    Strange, @Bill Meyer. Appears to work for me.
  6. Lars Fosdal

    RTF components or simple RTF editor?

    Why... Who knows why.
  7. Lars Fosdal

    RTF components or simple RTF editor?

    Well, the old RichEdit demo was removed. Who knows.
  8. Lars Fosdal

    Get started writing Linux apps

    Added a miniscule example using FMX for Linux at the end.
  9. Lars Fosdal

    RTF components or simple RTF editor?

    I see that the Rich Edit control has "moved" - not sure if the old wrapper supports 4.1? https://docs.microsoft.com/en-us/windows/win32/controls/about-rich-edit-controls VERSIONS OF RICH EDIT Rich Edit version DLL Window Class 1.0 Riched32.dll RICHEDIT_CLASS 2.0 Riched20.dll RICHEDIT_CLASS 3.0 Riched20.dll RICHEDIT_CLASS 4.1 Msftedit.dll MSFTEDIT_CLASS
  10. Lars Fosdal

    Get started writing Linux apps

    Oh, BTW - VS Code and Powershell 7 works beautifully under Ubuntu 18.04 🙂
  11. Lars Fosdal

    Get started writing Linux apps

    Originally, this was done to try to figure out why @Angus Robertson had issues with getting his Ubuntu environment working.
  12. Lars Fosdal

    ICS for Linux?

    I am on PS C:\Windows\System32> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer WindowsProductName WindowsVersion OsHardwareAbstractionLayer ------------------ -------------- -------------------------- Windows 10 Enterprise 1909 10.0.18362.752
  13. Lars Fosdal

    ICS for Linux?

    The Ubuntu 18.04 that my Hyper-V Quick Create offers me, has the visual UI - so not a pure server, perhaps?
  14. Lars Fosdal

    ICS for Linux?

    @Angus Robertson I tried Hyper-V Quick Create, and it worked for me, but you need to add the build essentials manually. Wrote a small post about it too. https://larsfosdal.blog/2020/08/26/get-started-writing-linux-apps-with-delphi-10-3-3-rio/ What fails during your installation?
  15. Lars Fosdal

    ICS for Linux?

    It is unfortunate that the toolchain doesn't keep up with the platforms it is supposed to support.
  16. Lars Fosdal

    ICS for Linux?

    sudo apt install gcc cured the linker problems, but appeared in the PAserver and followed in the IDE. /facepalm
  17. Lars Fosdal

    ICS for Linux?

    What went wrong?
  18. Lars Fosdal

    ICS for Linux?

    This compiled, but it didnt link. 😕 program LinuxTest; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; begin try { TODO -oUser -cConsole Main : Insert code here } Writeln('Hello World'); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. Checking project dependencies... [EurekaLog] LinuxTest.dproj(1): Unsupported project (LinuxTest.dproj; Linux64): platform "Linux64" is not supported Compiling LinuxTest.dproj (Debug, Linux64) brcc32 command line for "LinuxTest.vrc" c:\program files (x86)\embarcadero\studio\20.0\bin\cgrc.exe -c65001 LinuxTest.vrc -foLinuxTest.res dcclinux64 command line for "LinuxTest.dpr" c:\program files (x86)\embarcadero\studio\20.0\bin\dcclinux64.exe -$O- --no-config -M -Q -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults -DDEBUG;foslar -E.\Linux64\Debug -I"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug"; "c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release";C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64 -NU.\Linux64\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap;;(Default) -O"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release";C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -R"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release"; C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -U"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug";"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release"; C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 --syslibroot:C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk --libpath:C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\gcc\x86_64-linux-gnu\9; C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\x86_64-linux-gnu; C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\lib\x86_64-linux-gnu -V -VN -NHC:\Users\Public\Documents\Embarcadero\Studio\20.0\hpp\Linux64 -NO.\Linux64\Debug LinuxTest.dpr [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lgcc_s C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lc 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 c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::__malloc(NativeUInt): error: undefined reference to 'malloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::__free(void*): error: undefined reference to 'free' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::pthread_once(int&, void (*)()): error: undefined reference to 'pthread_once' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::pthread_key_create(unsigned int&, void (*)(void*)): error: undefined reference to 'pthread_key_create' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::TlsGetValue(unsigned int): error: undefined reference to 'pthread_getspecific' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::TlsSetValue(unsigned int, void*): error: undefined reference to 'pthread_setspecific' SysInit.pas:1183: error: undefined reference to '_Unwind_Resume' System.pas:17574: error: undefined reference to '_Unwind_Resume' System.pas:17486: error: undefined reference to '_Unwind_Resume' System.pas:668: error: undefined reference to 'memcpy' System.pas:17471: error: undefined reference to '_Unwind_Resume' System.pas:672: error: undefined reference to 'memcpy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::getenv(char*): error: undefined reference to 'getenv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__malloc(NativeUInt): error: undefined reference to 'malloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::calloc(NativeUInt, NativeUInt): error: undefined reference to 'calloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::realloc(void*, NativeUInt): error: undefined reference to 'realloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__free(void*): error: undefined reference to 'free' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__exit(int): error: undefined reference to 'exit' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::memmove(void*, void const*, NativeUInt): error: undefined reference to 'memmove' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::memset(void*, int, NativeUInt): error: undefined reference to 'memset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::strlen(char*): error: undefined reference to 'strlen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__raise(int): error: undefined reference to 'raise' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::pthread_self(): error: undefined reference to 'pthread_self' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::sched_yield(): error: undefined reference to 'sched_yield' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlerror(): error: undefined reference to 'dlerror' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::open(char*, int): error: undefined reference to 'open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__chdir(char*): error: undefined reference to 'chdir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__close(int): error: undefined reference to 'close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fchdir(int): error: undefined reference to 'fchdir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::ftruncate(int, long): error: undefined reference to 'ftruncate' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::getcwd(char*, NativeUInt): error: undefined reference to 'getcwd' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::lseek(int, long, int): error: undefined reference to 'lseek' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__read(int, void*, NativeUInt): error: undefined reference to 'read' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::readlink(char*, char*, NativeUInt): error: undefined reference to 'readlink' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::sysconf(int): error: undefined reference to 'sysconf' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::usleep(unsigned int): error: undefined reference to 'usleep' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__write(int, void*, NativeUInt): error: undefined reference to 'write' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv(void*, char**, NativeUInt*, char**, NativeUInt*): error: undefined reference to 'iconv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv_open(char*, char*): error: undefined reference to 'iconv_open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv_close(void*): error: undefined reference to 'iconv_close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::stat(char*, _stat&): error: undefined reference to 'stat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::mmap(void*, NativeUInt, int, int, int, long): error: undefined reference to 'mmap' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::munmap(void*, NativeUInt): error: undefined reference to 'munmap' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__error(): error: undefined reference to '__errno_location' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::wcscoll_l(int const*, int const*, void*): error: undefined reference to 'wcscoll_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::towupper_l(unsigned int, void*): error: undefined reference to 'towupper_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::setlocale(int, char const*): error: undefined reference to 'setlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::newlocale(int, char const*, void*): error: undefined reference to 'newlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::times(tms&): error: undefined reference to 'times' ICU.inc:243: error: undefined reference to 'memcpy' System.pas:28043: error: undefined reference to 'memcpy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fegetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'fegetexceptflag' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fesetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'fesetexceptflag' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fegetround(): error: undefined reference to 'fegetround' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fesetround(unsigned int): error: undefined reference to 'fesetround' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fedisableexcept(unsigned int): error: undefined reference to 'fedisableexcept' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_cosl(long double): error: undefined reference to 'cosl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_sinl(long double): error: undefined reference to 'sinl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_atanl(long double): error: undefined reference to 'atanl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_sqrtl(long double): error: undefined reference to 'sqrtl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::llrintl(long double): error: undefined reference to 'llrintl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_RaiseException(_Unwind_Exception&): error: undefined reference to '_Unwind_RaiseException' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetRegionStart(_Unwind_Context*): error: undefined reference to '_Unwind_GetRegionStart' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetLanguageSpecificData(_Unwind_Context*): error: undefined reference to '_Unwind_GetLanguageSpecificData' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_SetGR(_Unwind_Context*, int, NativeUInt): error: undefined reference to '_Unwind_SetGR' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetIP(_Unwind_Context*): error: undefined reference to '_Unwind_GetIP' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_SetIP(_Unwind_Context*, NativeUInt): error: undefined reference to '_Unwind_SetIP' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fcntl.o:Posix.Fcntl:function Posix::Fcntl::__open(char*, int): error: undefined reference to 'open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fcntl.o:Posix.Fcntl:function Posix::Fcntl::fcntl(int, int): error: undefined reference to 'fcntl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::fstat(int, _stat&): error: undefined reference to 'fstat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::lstat(char*, _stat&): error: undefined reference to 'lstat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::stat(char*, _stat&): error: undefined reference to 'stat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::sigaction(int, sigaction_t*, sigaction_t*): error: undefined reference to 'sigaction' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::sigaddset(sigset_t&, int): error: undefined reference to 'sigaddset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::kill(int, int): error: undefined reference to 'kill' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Time.o:Posix.Time:function Posix::Time::clock_gettime(int, timespec*): error: undefined reference to 'clock_gettime' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Time.o:Posix.Time:function Posix::Time::localtime_r(long&, tm&): error: undefined reference to 'localtime_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysTime.o:Posix.SysTime:function Posix::Systime::gettimeofday(timeval&, void*): error: undefined reference to 'gettimeofday' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::localeconv(): error: undefined reference to 'localeconv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::newlocale(int, char const*, void*): error: undefined reference to 'newlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::freelocale(void*): error: undefined reference to 'freelocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::duplocale(void*): error: undefined reference to 'duplocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::uselocale(void*): error: undefined reference to 'uselocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Iconv.o:Posix.Iconv:function Posix::Iconv::iconv_open(char*, char*): error: undefined reference to 'iconv_open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Iconv.o:Posix.Iconv:function Posix::Iconv::iconv_close(void*): error: undefined reference to 'iconv_close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::closedir(__dirstream*): error: undefined reference to 'closedir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::opendir(char*): error: undefined reference to 'opendir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::readdir_r(__dirstream*, dirent*, dirent*&): error: undefined reference to 'readdir_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Errno.o:Posix.Errno:function Posix::Errno::__error(): error: undefined reference to '__errno_location' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fnmatch.o:Posix.Fnmatch:function Posix::Fnmatch::fnmatch(char*, char*, int): error: undefined reference to 'fnmatch' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Langinfo.o:Posix.Langinfo:function Posix::Langinfo::nl_langinfo(int): error: undefined reference to 'nl_langinfo' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Langinfo.o:Posix.Langinfo:function Posix::Langinfo::nl_langinfo_l(int, void*): error: undefined reference to 'nl_langinfo_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Pthread.o:Posix.Pthread:function Posix::Pthread::GetCurrentThreadID(): error: undefined reference to 'pthread_self' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Stdlib.o:Posix.Stdlib:function Posix::Stdlib::getenv(char*): error: undefined reference to 'getenv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::memcmp(void const*, void const*, NativeUInt): error: undefined reference to 'memcmp' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::strcmp(char*, char*): error: undefined reference to 'strcmp' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::strerror_r(int, char*, NativeUInt): error: undefined reference to 'strerror_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::euidaccess(char*, int): error: undefined reference to 'access' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__close(int): error: undefined reference to 'close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::getpid(): error: undefined reference to 'getpid' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__read(int, void*, NativeUInt): error: undefined reference to 'read' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__write(int, void*, NativeUInt): error: undefined reference to 'write' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_destroy(sem_t&): error: undefined reference to 'sem_destroy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_getvalue(sem_t&, int&): error: undefined reference to 'sem_getvalue' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_init(sem_t&, int, unsigned int): error: undefined reference to 'sem_init' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_post(sem_t&): error: undefined reference to 'sem_post' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_trywait(sem_t&): error: undefined reference to 'sem_trywait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_wait(sem_t&): error: undefined reference to 'sem_wait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_timedwait(sem_t&, timespec&): error: undefined reference to 'sem_timedwait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysUtsname.o:Posix.SysUtsname:function Posix::Sysutsname::uname(utsname&): error: undefined reference to 'uname' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wchar.o:Posix.Wchar:function Posix::Wchar::wcscoll_l(int const*, int const*, void*): error: undefined reference to 'wcscoll_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wchar.o:Posix.Wchar:function Posix::Wchar::wcscasecmp_l(int const*, int const*, void*): error: undefined reference to 'wcscasecmp_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towupper(unsigned int): error: undefined reference to 'towupper' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towlower_l(unsigned int, void*): error: undefined reference to 'towlower_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towupper_l(unsigned int, void*): error: undefined reference to 'towupper_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.Internal.ExcUtils.o:System.Internal.ExcUtils:function System::Internal::Excutils::TlsGetValue(int): error: undefined reference to 'pthread_getspecific' System.SysUtils.pas:978: error: undefined reference to 'memset' System.SysUtils.pas:978: error: undefined reference to 'memset' System.SysUtils.pas:29191: error: undefined reference to 'memset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.SysUtils.o:System.SysUtils:function System::Sysutils::gnu_get_libc_version(): error: undefined reference to 'gnu_get_libc_version' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Failed Elapsed time: 00:00:02.9
  19. Lars Fosdal

    ICS for Linux?

    I just installed Ubuntu 20.04 LTS on Hyper-V on my Windows 10 machine, Advanced Model, 2 cores, 8Gb, no other configuration changes and opening a terminal, and running "ip addr show" - my second adapter shows as 172.17.202.69 Downloaded PAServer, and ran it with the default port Tested connection from 10.3.3 - success.
  20. Lars Fosdal

    ICS for Linux?

    FWIW, Hyper-V is really easy to install and configure.
  21. Lars Fosdal

    Free Resource Builder Utility?

    Are there any BRCC32 specialties that doesn't work with the MS RC compiler?
  22. Lars Fosdal

    Enums and generics

    Maintain, how? Once the text is written, it rarely needs to be changed after any initial correction. Sentences for UI texts are definitively not ideal - but this worked out so well that we even use this method for hip computer voice responses in multiple languages for our JsonRPC services. We still haven't introduced a fourth language, but if we do - it will be impossible to miss a translation.
  23. Lars Fosdal

    Enums and generics

    Not really. Usually I just create a keyboard macro on the fly to make the template, and then I fill in the texts afterwards.
  24. Lars Fosdal

    Enums and generics

    Normally we use Sisulizer, but it is hard to keep track of context in Sisulizer, so for enums we have this "dirty" workaround which also prevents missing translations.
  25. Lars Fosdal

    Enums and generics

    It probably is no consolation that I also have hundreds of these helpers... TAllowState = (asAllow,asWarn,asDeny); TAllowStateHelper = record helper for TAllowState const Translate: array[TAllowState] of xlt = ( { asAllow } (no:'Tillatt'; se:'Tillåten'; en:'Allow'), { asWarn } (no:'Vis advarsel'; se:'Visa varning'; en:'Show warning'), { asDeny } (no:'Sperret'; se:'Sperrad'; en:'Denied') ); public function ToString(const Language: TLanguage = langDefault): String; inline; class function FromString(str: string; const Language: TLanguage = langDefault): TAllowState; static; end; { TAllowStateHelper } class function TAllowStateHelper.FromString(str: string; const Language: TLanguage): TAllowState; begin Result:=asWarn; //Default var Lang := Language.GetLanguage; for var state :=Low(TAllowState) to High(TAllowState) do if CompareText(str, state.ToString(Lang)) = 0 then Exit(state); end; function TAllowStateHelper.ToString(const Language: TLanguage): String; begin Result := Translate[Self].Text(Language); end;
×