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

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

×