So, and sorry if this is covering ground already covered, but if I wanted to compile my own DLL and .lib file, I would do what exactly? Just not tell it about the .lib dependencies? And not put the lib and dll files in my project directory? Sorry for my denseness. I'm very knew to this route of doing things, old as that route may be.
From: Keith Medcalf <kmedc...@dessus.com> To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> Sent: Friday, December 21, 2018 5:15 PM Subject: Re: [sqlite] Need setup code for VC++ 2017 that will ACTUALLY COMPILE No problem. You can of course omit the sqlite3.c file and use the sqlite3.lib/sqlite3.dll combination, but your application will then be dependent on the version of sqlite3.dll that happens to be found at runtime and the options that were used to compile it. If you use the sqlite3.c directly then your application will be statically linked and not dependent on the external dll file. Plus with the sqlite3.c compiled statically you will be able to define exactly what sqlite3 features you want to include whereas with the .lib/.dll you will use whatever options happen to have been used to build that dll. --- The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume. >-----Original Message----- >From: sqlite-users [mailto:sqlite-users- >boun...@mailinglists.sqlite.org] On Behalf Of zydeholic >Sent: Friday, 21 December, 2018 18:02 >To: SQLite mailing list >Subject: Re: [sqlite] Need setup code for VC++ 2017 that will >ACTUALLY COMPILE > >Holy Chewbacca, >I removed the .c file from the project and I got an error free >compile. Yes, I knew my code would not do anything, except prove >that I was able to talk through to something. I'll try your code >below. > >Thanks MUCHO. > >David > > From: Keith Medcalf <kmedc...@dessus.com> > To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> > Sent: Friday, December 21, 2018 4:53 PM > Subject: Re: [sqlite] Need setup code for VC++ 2017 that will >ACTUALLY COMPILE > > >First of all use EITHER the source (.c) OR the precomiled dynamic >link library (.dll/.lib). Not both. > >The .c file contains the code to the sqlite3 database engine. The >DLL contains this code compiled to a Dynamic Link Library. The LIB >file tells your application how to find the code in the dynamic link >library. If you use both, only god (and probably not ever her) knows >what will happen. > >Here is a C++ program that actually does something (yours does >not). It compiles and runs when using a real compiler on Winders >(GCC). It has no error checking. But it does call "C" functions >from "C++". Simply compile it (in C++ mode) together with the >sqlite3.c (in C mode) and link them all together. > > >#include "sqlite3.h" >#include <fstream> >#include <iostream> >using namespace std; > >int main() >{ > sqlite3 *db; > sqlite3_stmt *stmt; > sqlite3_open(":memory:", &db); > sqlite3_prepare_v2(db, "select sqlite_source_id();", -1, &stmt, >NULL); > sqlite3_step(stmt); > cout << sqlite3_column_text(stmt, 0); > sqlite3_finalize(stmt); > sqlite3_close(db); >} > > > > >--- >The fact that there's a Highway to Hell but only a Stairway to Heaven >says a lot about anticipated traffic volume. > > >>-----Original Message----- >>From: sqlite-users [mailto:sqlite-users- >>boun...@mailinglists.sqlite.org] On Behalf Of zydeholic >>Sent: Friday, 21 December, 2018 17:26 >>To: SQLite mailing list >>Subject: Re: [sqlite] Need setup code for VC++ 2017 that will >>ACTUALLY COMPILE >> >>My cpp code consists of this at the moment: >>#include "sqlite3.h" >>#include <fstream> >>#include <iostream> >>using namespace std; >> >>int main() >>{ >> sqlite3 *db; >>} >> >>I have added sqlite3.h to my header files.I have added sqlite3.c to >>my source files.I've moved these two files, plus sqlite3.dll and >>sqlite3.lib into the same directory as these other files: >>C:\users\dsnos\source\repos\sqlite_try_3\sqlite_try_3 >> >>In Project, I've made the following settings:VC++ >>Directories>>Library >>Directories>>C:\users\dsnos\source\repos\sqlite_try_3\sqlite_try_3;C >/ >>C++>>Additional Include >>Directories>>C:\users\dsnos\source\repos\sqlite_try_3\sqlite_try_3; >>C/C++>>Precompiled Headers>>Not using precompiled headers (all >>configurations, all platforms). >>Linker>>Input>>Additional Dependencies>>sqlite3.lib >>I now get two errors when I compile: >>Severity Code Description Project File Line Suppre >s >>sion State >>Error LNK2001 unresolved external symbol >>_sqlite3_version sqlite_try_3 C:\Users\DSNoS\source\repos\sqli >t >>e_try_3\sqlite_try_3\sqlite3.obj 1 >>Severity Code Description Project File Line Suppre >s >>sion State >>Error LNK1120 1 unresolved >>externals sqlite_try_3 C:\Users\DSNoS\source\repos\sqlite_try_ >3 >>\Debug\sqlite_try_3.exe 1 >> >> >>At some point before I started filling in the directories and such >in >>Project, my code: >>sqlite3 *db; >>was errored out (underlined in red). Now they are not erroring >>out. I just get the two errors above when I compile. >> >> From: zydeholic <nonghead-webs...@yahoo.com> >> To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> >> Sent: Friday, December 21, 2018 3:46 PM >> Subject: Re: [sqlite] Need setup code for VC++ 2017 that will >>ACTUALLY COMPILE >> >>Ok, to further define my goals, I am not looking to compile the >files >>into a final EXE, unless that is the only way I can use it with my >>program. I want to tap into the sqlite functionality from a C++ >>application I am writing. >> >>I suppose I need to use the DLL that I downloaded, but have never >>used an external library before, not where I had to tell the >compiler >>how to talk to it. >>So, SQLite, backend database. I will do the front end stuff in my >>code. Hopefully this clarifies something. >> >> >> From: Larry Brasfield <brasfield.la...@gmail.com> >> To: "sqlite-users@mailinglists.sqlite.org" <sqlite- >>us...@mailinglists.sqlite.org> >> Sent: Friday, December 21, 2018 1:02 PM >> Subject: Re: [sqlite] Need setup code for VC++ 2017 that will >>ACTUALLY COMPILE >> >>Zydeholic wrote: >>➢ I compile and get one error: >>Severity Code Description Project File Line Suppre >s >>sion State Error LNK2001 unresolved external symbol >>_sqlite3_version sqlite_try_3 C:\Users\DSNoS\source\repos\sqli >t >>e_try_3\sqlite_try_3\sqlite3.obj 1 >> >>That symbol is declared, and a definition for the object so named is >>coded, in the sqlite3.c amalgamation without the possibility of >>omission by the preprocessor. So I find it exceedingly strange that >>your link operation is complaining of an unresolvable reference to >>that symbol in sqlite3.obj. For a C compilation, which you >certainly >>should be using for that C source, the name should be undecorated, >>except for the leading underscore, just as it appears in the above- >>quoted error message. This leads me to believe you are doing >>something too strange for anybody to guess with the information >>provided so far. >> >>You may notice that this thread is misnamed for this latest >>difficulty, since the code does actually compile. If I had to name >>it accurately, it would be called: [off topic] Need build >>instructions for my project which uses SQLite in a development >>environment differing from the one actually supported by the SQLite >>team. >> >>Some questions to ask yourself as you attempt to sort this out: >>1. Am I compiling the .c sources as C language? >>2. Have I modified the sources everybody assumes are as released by >>the SQLite team? >>3. What does insight does dumpbin.exe, (the VC command line tool for >>showing compiled image content), provide into my link errors? >>4. How does my sqlite3.obj differ from the one I get following step >>19 at https://www.sqlite.org/cli.html , and why? >>_______________________________________________ >>sqlite-users mailing list >>sqlite-users@mailinglists.sqlite.org >>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> >> >> >> >> >>_______________________________________________ >>sqlite-users mailing list >>sqlite-users@mailinglists.sqlite.org >>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > >_______________________________________________ >sqlite-users mailing list >sqlite-users@mailinglists.sqlite.org >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > >_______________________________________________ >sqlite-users mailing list >sqlite-users@mailinglists.sqlite.org >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users