Jump to content
Manuel S.

Sqlite Delphi 12 linker error

Recommended Posts

I have an app that uses SqLite on Android and iOS in encrypted mode. I'm migrating the app from Delphi 10.4 to Delphi 12.2. I get a link error I've never seen before :

[DCC Error] E2597 C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository\AndroidNDK-21-23.0.53982.0329\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: error: C:\\Program Files (x86)\\Embarcadero\\Studio\\23.0\\lib\\Android\\Release/libsqlite_fde.a(sqlite3_fde.o): multiple definition of 'sqlite3_aggregate_context'

 

The file libsqlite_fde.a exists in all delphi directories "lib/android/debug" and "lib/android64/debug".

I attach all error strings.

 

If anyone has an idea on how to fix it I would be very happy.

Thanks.

logs.txt

Edited by Manuel S.

Share this post


Link to post

I really don't know if this can help. but you have tried to do "REVERT" action:

 

image.png.e7b121634be5a8516aa2d1a5117c309e.png

Share this post


Link to post

You should set TFDPhysSQLiteDriverLink.EngineLinkage to slFDEStatic. Then check your uses clauses. Application should have only single unit from these:

  • FireDAC.Phys.SQLiteWrapper.FDEStat
  • FireDAC.Phys.SQLiteWrapper.SEEStat
  • FireDAC.Phys.SQLiteWrapper.Stat

Share this post


Link to post

Hi, 

before my post I have already tested all these solutions.

When you insert in project this unit FireDAC.Phys.SQLiteWrapper.FDEStat, project require to link libsqlite_fde.a.

FireDAC.Phys.SQLiteWrapper.SEEStat is for SEE encryption mode for 3.48 or higher. I want use 3.31 because SEE for 3.48 costs 2000$.

 

Thanks.

Others suggests?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×