Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 6 - Last Post: Apr 19, 2016 8:25 AM Last Post By: Ge Ph
Petr Vykouk

Posts: 42
Registered: 6/4/00
64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 27, 2014 6:28 AM
From release notes XE4 and XE5 and propably XE6,7,8.....?

...
64-bit Windows C++ Application with a FireDAC Component Might Raise Error

The following error is raised when attempting to compile an application using a single FireDAC component, when the platform is Windows x64 with static linking:
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

The workaround is to not link FireDAC statically in Win64 C++ apps. --------->>>> this is not true, because

Linker for target Win64 is unusable, run to out of memory exited with code2 even if dynamic linking FireDAC.

My old BDS2006 C++Builder is best product than XE5. BDS2006 is only Win32 but XE5 is defacto only Win32 too.

Bad work, Embarcadero boys, iOS and Android is not for me interesting, i bought XE5 version for Win64. Lot money is out there and nothing...:-((

When will we see improvement?

Borja Serrano

Posts: 172
Registered: 1/10/13
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 27, 2014 10:10 AM   in response to: Petr Vykouk in response to: Petr Vykouk
The error you are seeing is actually because you are linking your project statically instead of dynamically. Be sure to enable the link to runtime packages and to the runtime library in the project options.

Petr Vykouk wrote:
From release notes XE4 and XE5 and propably XE6,7,8.....?

...
64-bit Windows C++ Application with a FireDAC Component Might Raise Error

The following error is raised when attempting to compile an application using a single FireDAC component, when the platform is Windows x64 with static linking:
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

The workaround is to not link FireDAC statically in Win64 C++ apps. --------->>>> this is not true, because

Linker for target Win64 is unusable, run to out of memory exited with code2 even if dynamic linking FireDAC.

My old BDS2006 C++Builder is best product than XE5. BDS2006 is only Win32 but XE5 is defacto only Win32 too.

Bad work, Embarcadero boys, iOS and Android is not for me interesting, i bought XE5 version for Win64. Lot money is out there and nothing...:-((

When will we see improvement?

Petr Vykouk

Posts: 42
Registered: 6/4/00
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 27, 2014 1:10 PM   in response to: Borja Serrano in response to: Borja Serrano
Borja Serrano wrote:
The error you are seeing is actually because you are linking your project statically instead of dynamically. Be sure to enable the link to runtime packages and to the runtime library in the project options.
Sorry, but this is not true. After setting to dynamic linking with ALL packages, not only with FireDac, 64bit linker goes to hell with exit code 2 and out of memory.
Unusable product for 64bits platform - maybe in version XE10+.
quinn wildman

Posts: 856
Registered: 12/2/99
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 27, 2014 11:47 AM   in response to: Petr Vykouk in response to: Petr Vykouk
Petr Vykouk wrote:
When will we see improvement?

Every version has improvements. If there is something specific you are
looking for make sure it is in Quality Central.
Petr Vykouk

Posts: 42
Registered: 6/4/00
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 28, 2014 2:49 AM   in response to: quinn wildman in response to: quinn wildman
quinn wildman wrote:
Petr Vykouk wrote:
When will we see improvement?

Every version has improvements. If there is something specific you are
looking for make sure it is in Quality Central.

Joker...
Ha, ha, improvements of selling a car with three wheels -> change to four whell is not improvement, it is free emergency repair.
ko f

Posts: 4
Registered: 10/22/02
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: May 25, 2014 7:15 AM   in response to: Petr Vykouk in response to: Petr Vykouk
Petr Vykouk wrote:
quinn wildman wrote:
Petr Vykouk wrote:
When will we see improvement?

Every version has improvements. If there is something specific you are
looking for make sure it is in Quality Central.

Joker...
Ha, ha, improvements of selling a car with three wheels -> change to four whell is not improvement, it is free emergency repair.

At least you are not alone. I also feel disappointed to their new products. Start from C++ Builder 2009, all version are buggy and broken. Many user waiting x64 development for C++ for a long time, but Embarcadero disappointed their user again and again. Their 64-bit compiler is slow and not smart. It always need for long time to compile a file, almost ten times of 32-bit compiler does. Every lnker error or compile error makes the compiler to start a full compile, it makes the compile time very long. x64 compiler for C++ first came out from XE3 Update 1. However, this version has tons of bug. XE4 is better, but still no much improvement. Every time when I try to modify the x64 code and recompile it, I always get the error: [ilink64 Error] Fatal: Could not open C:\Project1\Project1.exe (error code 1224). When I search Quality Central, I found that it's already reported, but they cannot reporduce this, so this error still exists in all new versions. Their 64-bit exception handling also broken. The access violation error cannot be caught under 64-bit build. Such exception will casue the program crash immediately. Also, VCL exception handling are broken when a program link with custom import libraries with static rtl selected. Any VCL exception throw will casue the 64-bit build program crash. I also have problem with linking 64-bit FireDAC libraries, When link with runtime package, it will generate linker error [ilink64 Error] Fatal: Unable to open file 'ANYDAC_PHYS_D18.BPI'. When link statically, it will generate another error [ilink64 Error] "ilink32" exited with code 2.. Create it with Win32 build without any linker error, but another error prompt when the program runs. [AnyDAC][Phys]-300. Driver [] is not registered. I get frustrated and stop using their new feature, because I can found any way to make a 64-bit program with firedac. Now, XE6 is out, the space requirement is horrible huge. The installer tell me C: does not have enough space to create cache file. My C drive is SSD with very limited space. I don't know why it does not use my system temp folder which have 2 TB free, but try to cache it in drive C? I cannot make the installer to run if I choose both Android and IOS development. Then I just install Windows developement file with x86 / x64 support and the help system files. The installer said 2.8 GB needed, but after install, it used 10GB and turn my system drive to low space with the red bar in windows explorer. XE6 seems does not has any major improvement in Win64 development. The C++ x64 compiler is still slow, the 64-bit linker error 1224 still appear in every debug. The exception handling problem still exists. I can't see improvements in the new version, but can see it consume much more space than the previous version even if minimum install applied. Some issue reported before such as Console application options is always disabled still not fixed in this version. I feel very disappointed with their new product. I hope they will focus more on C++ Win64 than Mac, iOS or Android in future and making a less buggy usable product.
Ge Ph

Posts: 14
Registered: 10/5/06
Re: 64-bit Windows C++ Application with a FireDAC Component Might Raise Error  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 19, 2016 8:23 AM   in response to: Petr Vykouk in response to: Petr Vykouk
Petr Vykouk wrote:
From release notes XE4 and XE5 and propably XE6,7,8.....?

...
64-bit Windows C++ Application with a FireDAC Component Might Raise Error

The following error is raised when attempting to compile an application using a single FireDAC component, when the platform is Windows x64 with static linking:
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

The workaround is to not link FireDAC statically in Win64 C++ apps. --------->>>> this is not true, because

Linker for target Win64 is unusable, run to out of memory exited with code2 even if dynamic linking FireDAC.

My old BDS2006 C++Builder is best product than XE5. BDS2006 is only Win32 but XE5 is defacto only Win32 too.

Bad work, Embarcadero boys, iOS and Android is not for me interesting, i bought XE5 version for Win64. Lot money is out there and nothing...:-((

When will we see improvement?


Is anyone knowledgeable on what the difficulty is in getting FireDAC to statically link under Win64? Checking the release notes for XE 10.1 (for Rudy) Berlin, this is still an issue. Quite odd that this particular issue has been in existence for so long without resolution. I don't suppose that 3rd party components such as UniDAC have this issue? Anyone figured a workaround to get static linking to work with 64 bit?

Wiki on Berlin (http://docwiki.embarcadero.com/RADStudio/Berlin/en/Release_Notes) indicates the issue still exists.
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02