C + + Builder 10.4.1 compiler running error in XP - c++builder-10.4-sydney

Link with Dynamic RTL=true
Compiler running under XP prompt error
Unable to locate the program input point acquiresrwlockshared on the dynamic link library kernel32.dll.

AcquireSRWLockShared() was introduced in Windows Vista. Clearly something in your project is static-linking to that function, so the error message makes sense when running your code on XP. Note also that you enabled the Dynamic RTL, but you did not also enable the Delphi Runtime Library, too. Typically, most C++Builder users disable these options to produce standalone executables, but you seem to want to enable them instead to utilize runtime BPLs (which will still fail to load on XP btw, even if your main EXE could run).
XP is no longer a supported platform. You can't run the IDE itself on XP, nor can you run programs compiled with 10.4 on XP. The IDE itself requires Windows 10 or later. Compiled programs require Windows 7 SP1 or later. See Operating System Requirements in 10.4's documentation.
The last version to officially support compiled programs running on XP was XE2. Support for XP was dropped in XE3.

Related

Is List & Label Standard edition ok with .NET Framework AnyCPU "Prefer 32-bit"?

I am currently evaluating List & Label. The edition comparison seems to indicate that the Standard edition cannot be used by 64-bit programs, and I also got that confirmed by the company making the product. However, what I need to know is the following.
I plan to use List & Label in a Visual Studio solution with projects compiled for AnyCPU with "Prefer 32-bit" set.
Is there anybody out there that runs the licensed Standard edition with AnyCPU and "Prefer 32-bit" set on a 64-bit machine? It would be nice to know for certain whether it works or not.
Yes, this will work. See What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11 to confirm this will start a 32 bit process on all platforms supported by List & Label:
If the process runs on a 32-bit Windows system, it runs as a 32-bit process. IL is compiled to x86 machine code.
If the process runs on a 64-bit Windows system, it runs as a 32-bit process. IL is compiled to x86 machine code.

0xc000007B application was unable to start

I am trying to run EasyPHP on Windows 10 (64 bit) system. Initially the error was regarding msvcr110.dll missing, which I resolved somehow. Now its showing the error of 0xc00007b unable to start program correctly. I have tried to run the compatibility troubleshoot as well as run as administrator option. Its just not working. Any other effective solutions ?
This usually happens when you have mix of x86 and x64 libraries installed. You should probably uninstall all x86 versions of Microsoft Visual C++ Redistributables and install their x64 bit counterparts (just google them and make sure you download 64 bit version of that library).

Running 64-bit Windows and Linux in 32-bit mode

I need to test my C code for 32- and 64-bit versions of Windows (XP and 7) and Linux. But I have got access only to their 64-bit installations.
Question: Is it possible to use some boot-time settings or other hacks to run/emulate these OSes in 32-bit mode? If not, is there any other way to test the portability of my C code?
Note: The C code in question is not a full-fledged application but rather a .dll/.so file.
Neither Linux nor Windows 64Bit can run as 32Bit OS. Also, while you can run 32Bit executables on the 64Bit OS, it is not quite the same as running the same under a 32Bit OS. But it might work as a quick screening test. Besides, you certainly want that to work as well, right?
Your choices are full multi-boot setup, using VMs (might hide/expose bugs), being content with the emulation layer or running the other OS's on different hardware.
BTW: If you have Windows 64Bit, the license allows you to run 32Bit instead and vice versa. Anyway, you might want to check different language versions as well...

Google Web Designer on Windows XP

I've installed Google Web Designer on Windows XP, and saw this error:
The procedure entry point GetSystemDefaultLocaleName could not be located in the dynamic library KERNEL32.dll
What can I do?
I think that it won't support XP.
Here are the minimum system requirements, according to their documentation:
Operating system
Windows requirements
Windows 7
Windows 8
I think it does not support Windows XP. I installed in Windows 7. No issues. The error you have got is mainly caused by misinterpreted operating system -- that's described as a possible cause in Microsoft's support knowledge base:
The application is misinterpreting the operating system version and is trying to call a procedure in the Windows 95 or Windows 98 version of the Dynamic Link Library (DLL) that is unavailable in Windows NT version 4.0 or Windows 2000.
Windows XP is not supported. See the system requirements.

Compiled perl executable fails to run on Windows 7 (64 bit)

I have created an executable (.exe) of a perl script on a 64-bit linux kernel. It executes correctly in this environment.
When the executable is run in 64-bit Windows 7, the following error message is displayed:
The version of this file is not compatible with the version of Windows
you're running. Check your computer's system information to see
whether you need x86 (32-bit) or x64 (64-bit) version of the program,
and then contact the software publisher.
Given that the source and destination OS's were both 64-bit, I'm not sure that the architecture of the build is the issue. Are there any special considerations to make a compiled perl program execute properly in Windows? Thank you.
Executable files are not compatible across platforms. They will run on the original platform only unless they are explicitly cross-compiled to a different target. That's actually the reason we use interpreted languages. What you want to do is not possible because the Windows and Linux APIs, libraries, and well just about everything are completely different.
This is why you need to download a different version of a program for linux/windows/mac.