When the included file is in " " then the file is expected to be located relative to the current directory. If the included file is in < > then it is relative to one of the directories specified in the "include search path". This search may or may not include the "current directory" but to have "current directory" included, you have to specify the directory location specifically to the compiler -- it does not automatically look in the current directory for files included with the < > syntax.
So for example, GCC sets several default search locations based on the location of the compiler executable itself (so it can find the headers included with the compiler). It then "appends" the directories specified in the INCLUDE environment variable to that list. Command line options (and compilers with GUI interfaces will have the same options somewhere) allow the specification of "prepends" and "appends" to that list of directories. Most compilers work the same way. There is also a "LIB search path" that works the same way for linking the object files and libraries together. GCC has defaults set according to the location of the compiler executable, then appends the paths found in the LIB environment variable, and then has Command line (located in the GUI options for other compilers) that let you prepend and append additional paths to the list. The include and lib paths work the same way for almost all compilers, though there are a few exceptions. For example, there is an old Fortran compiler that looks specifically in the "F99INCLUDE" environment variable for included Fortran code (actually, anything that is not a .h file), and the "INCLUDE" environment variable only for .h files. Most compilers, however, only use one set of "include" and "lib" paths and know how to search for the files specifically. Because the INCLUDE and LIB paths are a list of multiple directories to search, order is important. Only the first file found matching the specified name/type will be used. (Similar to the PATH environment variable on Windows used to search for executables). This is why the compiler itself will usually have a pre-set location list as a starting point, to ensure that those files and libraries specific to the compiler are used in preference to any you might add later. So if you were to find a copy of zlib prebuilt for your platform and compiler you would get at least a .h and .lib (headers and pre-compiled library file). You can stick those anywhere you like and add the directory where you put then to the INCLUDE search path (so the #include <zlib.h> will find it) and the LIB path (so you can specify that Z.LIB or whatever it is named for you) can be located when you add the z.lib library to be linked to your project. In many cases these path additions are done by adding them (and may be done automatically for you when you install the library) to the INCLUDE and LIB environment variables. That way whenever you need/reference the library/headers they will be found. --- 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- >[email protected]] On Behalf Of curmudgeon >Sent: Friday, 25 August, 2017 11:35 >To: [email protected] >Subject: Re: [sqlite] Compiling spellfix for sqlite3 > >Thanks Keith, the config info is most welcome. I wasn't sure if I was >supposed to download zlib.h the fact it was inside <> instead of "" >but >understand now. > >Is the include <sqlite3ext.h> in csv.c not a bug though, or is it >again down >to my compiler? > > > >-- >View this message in context: >http://sqlite.1065341.n5.nabble.com/Compiling-spellfix-for-sqlite3- >tp70656p97105.html >Sent from the SQLite mailing list archive at Nabble.com. >_______________________________________________ >sqlite-users mailing list >[email protected] >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

