C++Builder - Link with only one runtime package - all the rest compiled in?

41 Views Asked by At

x64 versions of C++Builder apps are 350+ MB when using SQLite, now 700+ MB with C++Builder 12 not fixing it. Having to use the sIFDStatic EngineLinkage, is there a way to just have that one lib as a .dll?

It's 350+ MB of an exception table, and with this new sIFDStatic to use the older SQLite, it appears to not exclude the new SQLite, but link both in somehow.

I presume the runtime package is FireDACSqliteDriver. So, if I can external link with just that one, I can hopefully work around this issue.

However, I don't see an option to exclude in project settings, it's Link with Runtime Packages on or off.

1

There are 1 best solutions below

0
user3161924 On

From Support: This works for standard/latest version sqlite, but not if you need FDE.

  1. There are two files in $(BDS)\source\data\firedac that are required.
  2. Make "FireDAC.inc" writeable.
  3. Open the file in an editor and search for "{.$UNDEF FireDAC_SQLITE_STATIC}"
  4. Remove the period aka "."
  5. Add the "FireDAC.Phys.SQLiteWrapper.Stat.pas" to your project and build.