zeus
zeus

Reputation: 13407

ld: framework not found Bolts for architecture armv7

I try to compile in Delphi Rio a project that was working fine under Delphi tokyo. I can't because I always have this error :

ld: framework not found Bolts for architecture armv7

But in the global delphi library path I have correctly set:

C:\lib\ios\facebook\Bolts.framework

that is the path where is located the Bolts framework:

C:\lib\ios\facebook\Bolts.framework\Headers\...
C:\lib\ios\facebook\Bolts.framework\Modules\...
C:\lib\ios\facebook\Bolts.framework\Info.plist
C:\lib\ios\facebook\Bolts.framework\Bolts

What did I miss ?

Note: If I move the C:\lib\ios\facebook\Bolts.framework\ dir inside the global PlateformSDKs dir then it works.

Upvotes: 0

Views: 247

Answers (2)

Hans
Hans

Reputation: 2262

I include the Facebook SDK this way:

1) Copy all FBSDK frameworks into the active SDK. For iOS 12.1 it is: D:\Documents\Embarcadero\Studio\SDKs\iPhoneOS12.1.sdk\System\Library\Frameworks

2) Tell the Delphi linker to include the SDK.

Under Project Options > Building > Delphi Compiler > Linking > Options passed to the LD linker, add this line:

-ObjC -lz -framework FBSDKCoreKit -weak_framework Bolts

Upvotes: 0

zeus
zeus

Reputation: 13407

i found a way out:

If I have

C:\Dev\Alcinoe\lib\ios\facebook\Bolts.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKCoreKit.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKLoginKit.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKShareKit.framework

I must add in the search path all those directories AND in the project option framework path the ROOT path

C:\Dev\Alcinoe\lib\ios\facebook\

then it's work! I still have a warning

ld: warning: Auto-Linking supplied 'C:\Dev\Alcinoe\lib\ios\facebook/Bolts.framework/Bolts', framework linker option at C:\Dev\Alcinoe\lib\ios\facebook/Bolts.framework/Bolts is not a dylib

but it's work

Upvotes: 2

Related Questions