-
Content Count
3416 -
Joined
-
Last visited
-
Days Won
113
Everything posted by Lars Fosdal
-
Defintively a valid point. You can install 18.04 in a VB VM as well, and the rest remains the same.
-
TimeSpan allows you to measure in milliseconds without having to think about the underlying details.
-
An cleaner alternative to GetTickCount, but perhaps a little more costly is System.TimeSpan and System.Diagnostics.TStopWatch?
-
You could always leave a comment here instead 🙂
-
Strange, @Bill Meyer. Appears to work for me.
-
Why... Who knows why.
-
Well, the old RichEdit demo was removed. Who knows.
-
Added a miniscule example using FMX for Linux at the end.
-
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
-
Oh, BTW - VS Code and Powershell 7 works beautifully under Ubuntu 18.04 🙂
-
Originally, this was done to try to figure out why @Angus Robertson had issues with getting his Ubuntu environment working.
-
I am on PS C:\Windows\System32> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer WindowsProductName WindowsVersion OsHardwareAbstractionLayer ------------------ -------------- -------------------------- Windows 10 Enterprise 1909 10.0.18362.752
-
The Ubuntu 18.04 that my Hyper-V Quick Create offers me, has the visual UI - so not a pure server, perhaps?
-
@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?
-
It is unfortunate that the toolchain doesn't keep up with the platforms it is supposed to support.
-
sudo apt install gcc cured the linker problems, but appeared in the PAserver and followed in the IDE. /facepalm
-
What went wrong?
-
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
-
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.
-
FWIW, Hyper-V is really easy to install and configure.
-
Are there any BRCC32 specialties that doesn't work with the MS RC compiler?
-
Enums and generics
Lars Fosdal replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
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. -
Enums and generics
Lars Fosdal replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Not really. Usually I just create a keyboard macro on the fly to make the template, and then I fill in the texts afterwards. -
Enums and generics
Lars Fosdal replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
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. -
Enums and generics
Lars Fosdal replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
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;