Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DCC Fatal Error] F2588 Linker error code: 3221225477 ($ c0000005) when I compile in IOS-64 bit in debug #13

Open
TheStranger25 opened this issue Apr 28, 2022 · 3 comments

Comments

@TheStranger25
Copy link

Hi, I'm trying to develop a cross platform app using GrijjyCloudLogger as a debugging logger.
However on IOS-64 bit in debug mode I can't compile my app and I get the following error:
[DCC Fatal Error] F2588 Linker error code: 3221225477 ($ c0000005).
While in release mode and for other platforms it works, what can be the problem?

@allendrennan
Copy link
Collaborator

I did reproduce the issue, very strange – not sure how long that it’s existed.

I see the issue has been reported to Embarcadero, so it’s not ZeroMQ specific:
https://quality.embarcadero.com/browse/RSP-37075
https://quality.embarcadero.com/browse/RSP-37650
There are a few other reports.

We will look it over anyway and see if there is anything we can do about it.

@TheStranger25
Copy link
Author

If they do not solve the problem on embarcadero it will be impossible to use grijjy for IOS debugging, we hope ...

@allendrennan
Copy link
Collaborator

I was able to get it working by rebuilding the static library (.a) file and separating the armv7 and arm64 static libraries. The static library is a universal static library that combines both architectures into a single static library. This is something that use to work when linking with in earlier versions of Delphi but doesn't anymore. To see if you are using a universal static library you can copy the (.a) file over to a Mac and from a Terminal run:

lipo -info mylibrary.a

You can separate the architectures as well using:
lipo mylibrary-a -thin arm64 -output mylibrary_ios64.a
lipo mylibrary-a -thin armv7 -output mylibrary_ios32.a

Then just copy (and rename) the arm64 version and replace the existing file. Most iOS products no longer need (or want) armv7 so it is probably best to drop it altogether or link it separately for different build types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants