Thank you everyone for your very kind suggestions. :) Unfortunately I am \<sigh\> using MFC so it isn't as simple as just finding a compiler that runs on Ubuntu. I think I'll just live with changing four lines every 6 months or so, as I don't upgrade to the latest SQLite code as soon as it is released. One suggestion though: Could the five constants in question be placed in a suitable place, guarded by #if defined(_MSC_VER) so that two versions could exist: one with LL and one without? Then the defined versions could be used in the code rather than the literal constants. The constants being: ``` 4294967296 // 2**32 2251799813685248 // 2**51 -2251799813685248 // -2**51 140737488355327 // 2**47 - 1 -140737488355328 // -2**47 ``` Doing this looks better than using "magic numbers" in the code, and the comments could be used to explain why that number and not some other one.