Can't compile own Components with 64bit

Hello,

i try to compile our own components (Windows only) in 64bit. Some of our Components are derived from TMS and as long as i have the 32bit target set everything works as expected and our components compile without any issue.

But as soon is i set 64bit as target platform i get the following error:

[ILINK32 Fehler] Fatal: Unable to open file '\REGISTERED\TMS FNC CORE;C:\USERS\CHRIS\APPDATA\LOCAL\TMSSOFTWARE\REGISTERED\TMS FNC CORE\DELPHI11\WIN64\RELEASE;C:\USERS\CHRIS\APPDATA\LOCAL\TMSSOFTWARE\REGISTERED\TMS FNC MAPS;C:\USERS\CHRIS\APPDATA\LOCAL\TMSSOFTWARE\R'

I've already uninstalled all components and reinstalled them. I also checked the environment paths and as far as i can say, everything looks fine.

I'm stuck right now and don't know where to search for the issue. Does anyone has a suggestion?

Thanks,

Chris

Please check the library path of the IDE specifically for Windows 64 bit, and make sure it contains the correct paths.

I checked the paths multiple times. As far as i can say, it looks as it should.

Include Path:

Library Path:

Am i something missing here?

Is this C++ Builder or Delphi? At least, the library path looks different. This is the default path for Delphi Win64 Bit target

image

It is C++ Builder. Sorry that i missed to mention it in the original post.

For C++Builder you might need to recompile the original packages and set the target to 64 bit, the output folder should be located where the packages are. There you should find the required C++Builder files to compile against.

The libraries are all present in 64bit:

Also the bpis:

I tried to compile the packages myself with 64bit target. With every package i get an error. "Never-build Package has to be recompiled":

[dcc64 Fataler Fehler] VCL.TMSFNCUtils.pas(101): E2225 'Never-build' Package 'vclimg' muss neu compiliert werden

It's unclear where the linker error comes from. Did this used to work or is this the first time you try to compile packages based on 64 bit? Did you set the target to Release, because Release is used to compile the packages.

Indeedi forgot to target Release. I compiled all packages now with 64bit Release target. Unfortunately the error exists.

It seems weird to me, because the error isn't stating a specific file, but instead a subset of the environement paths that are set.

[ilink64 Fehler] Fatal: Unable to open file '\RAIZE\CS5\LIB\RX11\WIN64;C:\USERS\CHRISTIAN.ARTINGER\APPDATA\LOCAL\TMSSOFTWARE\REGISTERED\TMS VCL UI PACK;C:\USERS\CHRISTIAN.ARTINGER\APPDATA\LOCAL\TMSSOFTWARE\REGISTERED\TMS VCL UI PACK\DELPHI11\WIN64\RELEASE;C:\USERS\CHRISTIAN.ARTINGER\APPDATA\LOCAL\TMSSOF'

I also added the paths shown below just to be sure the Linker finds everything that is needed. Again without effect.

Not sure where to investigate further to find the problem. Maybe i try to make a new Component package and see if that works ...

So for everyone who is maybe running into the same problem. After i wasted a full day for this i found the problem (and solution). It is indeed no TMS-Problem neither a "real" problem that we where causing ourself.

But i blame Embarcadero for that rather awfull error message that isn't pointing into a direction what the problem could be.

Long story short: We grouped our own components in subfolders like so:

At a certain point it seems that the library and include paths are getting to long and the Win64-bit linker fails with a message like i posted earlier. Ironically the 32bit linker has no problem with this long paths.

Thanks for the additional information, that will be very useful in the future. I'll link this post to our Installation FAQ

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.