Thanks for that Jarek. I managed to get one of the SQLite plugins to work so I’ll use that for now, but it’d be cool the be able to use the official version
I’ve just upgraded to 4.7.2, now the UE4Editor-SQLiteSupport.lib library is being built and it’s working as expected!
I’m still using GitHub source built engine.
Sorry for the long response, but recently I hadn’t had time to look into it.
Here’s the problem:
SQLiteSupport is an optional module that just wraps sqlite to our database abstraction. In order to use it one needs to compile the module with linking statically sqlite library. To do this you need to have a source code version.
On the other hand the Launcher version is the binary version of UE4.
So to use SQLite, download the sources of UE4 and compile your project with SQLiteSupport according to the steps in README with the source version.
Sorry about the confusion and I guess we need to emit a proper error in binary builds that says so.
When you build sqlite project, it generates the SQLite lib.
The SQLiteSupport module will only be built a) if you include it as a dependency in your project and b) if it finds the SQLite lib (SQLiteSupport looks for the SQLite lib as a prerequisite), but it will automatically build if both those conditions are true when you build the project that lists SQLiteSupport as a dependency.
Now, two weeks later, we have come full circle to the original problem
In my project, both of those conditions were true. SQLiteSupport was listed as a dependency, and the sqlite lib had been downloaded and built. I still received the linker error in the original post. From what Jarek said, using a version of UE4 built from source is mandatory for the use of this module, so that might have been my problem (I think I tried that, but I may be misremembering). However, we had another guy commenting that he was getting the same issue, despite having the library build, and he claimed to be using the source version.
Can someone verify that they can reproduce the issue, and that this fix works? I won’t be able to try it until I get home from work.
Have you fixed the earlier problem we were mentioning? I.e. Replacing inclusiong of SQLiteSupportPrivatePCH.h to SQLiteSupport.h in SQLiteDatabaseConnection.h?
Same error as in the original bug report I made here, but with the file path changed to the directory where I have my source build of the engine. “Cannot open input file”.
I am on the “release” branch
I did fix that, yes. Sorry, I should have mentioned that in my list of steps above. I did that just before building my project (between steps 6 and 7). If I don’t do it, then the project fails to compile altogether, and the linker error never has a to occur.
It might be worth attaching a sample project that Jarek can use to repro, if you have a few minutes to create such a thing Sirrus. @Jarek - Would you like me to make the PrivatePCH and ‘more informative error when trying to build SQLiteSupport’ changes and submit another PR? Or have you already handled those internally?
Woah! I just recompiled everything, including the engine, and now I see the SQLiteSupport library being built. I don’t know what I did differently though. Maybe it’s the fact that I rebuilt the engine after opening the solution file for my project, rather than the solution file generated for building the engine standalone?