On 4/9/17 1:49 PM, Olivier Mascia wrote:
Le 9 avr. 2017 à 18:49, dip <x...@protonmail.com> a écrit :

I downloaded latest SQLite Amalgamation (v 3.18.0) to embed it in my project.
After that I got a lot of errors while compiling (compiler is Microsoft Visual 
Studio 2017).
Errors were caused by the following line in sqlite3.h:

typedef struct Mem sqlite3_value;

The reason is that I have the namespace with the same name.
So I have a suggestion to rename "struct Mem" to something else (add prefix to it) because "Mem" is a very 
common name like "input" or "data" or "buffer" and there may be classes or namespaces having the 
same name.
The way to overcome this completely in large programmings using many libraries 
is to include sqlite3.h within a namespace. Not something that SQLite code must 
do itself: that's best handled at the user project level.

The problem with this is that if the header file is put in a namespace in the user code, then the source file that defines these functions needs to also be changed to put the files in that same namespace, or the things being defined won't be found.

--
Richard Damon

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to