Bueno, lo he probado y no me ha funcionado
g++ -o SQLite3-Amalgamation_example SQLite3-Amalgamation_example.c
Me genera todo este choclo de errores:
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'void strftimeFunc(sqlite3_context*, int, sqlite3_value**)':
c:\mingw\include\sqlite3.c:17689:40: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
z = sqlite3DbMallocRawNN(db, (int)n);
^
c:\mingw\include\sqlite3.c: In function 'void* sqlite3MemMalloc(int)':
c:\mingw\include\sqlite3.c:18592:7: error: invalid conversion from 'void*' to 'sqlite3_int64* {aka long long int*}' [-
ermissive]
p = SQLITE_MALLOC( nByte+8 );
^
c:\mingw\include\sqlite3.c: In function 'void* sqlite3MemRealloc(void*, int)':
c:\mingw\include\sqlite3.c:18665:7: error: invalid conversion from 'void*' to 'sqlite3_int64* {aka long long int*}' [-
ermissive]
p = SQLITE_REALLOC(p, nByte+8 );
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'sqlite3_mutex* winMutexAlloc(int)':
c:\mingw\include\sqlite3.c:21842:41: error: invalid conversion from 'void*' to 'sqlite3_mutex*' [-fpermissive]
p = sqlite3MallocZero( sizeof(*p) );
^
c:\mingw\include\sqlite3.c: In function 'char* sqlite3DbStrDup(sqlite3*, const char*)':
c:\mingw\include\sqlite3.c:22757:39: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zNew = sqlite3DbMallocRaw(db, (int)n);
^
c:\mingw\include\sqlite3.c: In function 'char* sqlite3DbStrNDup(sqlite3*, const char*, u64)':
c:\mingw\include\sqlite3.c:22770:38: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zNew = sqlite3DbMallocRawNN(db, n+1);
^
c:\mingw\include\sqlite3.c: In function 'void sqlite3VXPrintf(StrAccum*, const char*, va_list)':
c:\mingw\include\sqlite3.c:23266:47: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zOut = zExtra = sqlite3Malloc( nOut );
^
c:\mingw\include\sqlite3.c:23377:71: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
= sqlite3Malloc( MAX(e2,0)+(i64)precision+(i64)width+15 );
^
c:\mingw\include\sqlite3.c:23525:29: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
if( isnull ) escarg = (xtype==etSQLESCAPE2 ? "NULL" : "(NULL)");
^
c:\mingw\include\sqlite3.c:23533:45: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
bufpt = zExtra = sqlite3Malloc( n );
^
c:\mingw\include\sqlite3.c:23568:48: error: cannot convert 'SrcList::SrcList_item*' to 'SrcList_item*' in initializati
struct SrcList_item *pItem = &pSrc->a[k];
^
c:\mingw\include\sqlite3.c:23571:18: error: invalid use of incomplete type 'struct SrcList_item'
if( pItem->zDatabase ){
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:14473:59: error: forward declaration of 'struct SrcList_item'
SQLITE_PRIVATE int sqlite3IndexedByLookup(Parse *, struct SrcList_item *);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:23572:49: error: invalid use of incomplete type 'struct SrcList_item'
sqlite3StrAccumAppendAll(pAccum, pItem->zDatabase);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:14473:59: error: forward declaration of 'struct SrcList_item'
SQLITE_PRIVATE int sqlite3IndexedByLookup(Parse *, struct SrcList_item *);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:23575:47: error: invalid use of incomplete type 'struct SrcList_item'
sqlite3StrAccumAppendAll(pAccum, pItem->zName);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:14473:59: error: forward declaration of 'struct SrcList_item'
SQLITE_PRIVATE int sqlite3IndexedByLookup(Parse *, struct SrcList_item *);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'int sqlite3StrAccumEnlarge(StrAccum*, int)':
c:\mingw\include\sqlite3.c:23638:53: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zNew = sqlite3DbRealloc(p->db, zOld, p->nAlloc);
^
c:\mingw\include\sqlite3.c:23640:47: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zNew = sqlite3_realloc64(zOld, p->nAlloc);
^
c:\mingw\include\sqlite3.c: In function 'char* sqlite3StrAccumFinish(StrAccum*)':
c:\mingw\include\sqlite3.c:23722:55: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
p->zText = sqlite3DbMallocRaw(p->db, p->nChar+1 );
^
c:\mingw\include\sqlite3.c: In function 'void sqlite3_randomness(int, void*)':
c:\mingw\include\sqlite3.c:24479:25: error: invalid conversion from 'void*' to 'unsigned char*' [-fpermissive]
unsigned char *zBuf = pBuf;
^
c:\mingw\include\sqlite3.c: In function 'int sqlite3ThreadCreate(SQLiteThread**, void* (*)(void*), void*)':
c:\mingw\include\sqlite3.c:24737:31: error: invalid conversion from 'void*' to 'SQLiteThread*' [-fpermissive]
p = sqlite3Malloc(sizeof(*p));
^
c:\mingw\include\sqlite3.c: In function 'int sqlite3VdbeMemTranslate(Mem*, u8)':
c:\mingw\include\sqlite3.c:25132:42: error: invalid conversion from 'void*' to 'unsigned char*' [-fpermissive]
zOut = sqlite3DbMallocRaw(pMem->db, len);
^
c:\mingw\include\sqlite3.c: In function 'char* sqlite3Utf16to8(sqlite3*, const void*, int, u8)':
c:\mingw\include\sqlite3.c:25299:56: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive]
sqlite3VdbeMemSetStr(&m, z, nByte, enc, SQLITE_STATIC);
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c:16306:20: note: initializing argument 2 of 'int sqlite3VdbeMemSetStr(Mem*, const char*, int
u8, void (*)(void*))'
SQLITE_PRIVATE int sqlite3VdbeMemSetStr(Mem*, const char*, int, u8, void(*)(void*));
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'int sqlite3Utf16ByteLen(const void*, int)':
c:\mingw\include\sqlite3.c:25318:28: error: invalid conversion from 'const void*' to 'const unsigned char*' [-fpermiss
e]
unsigned char const *z = zIn;
^
c:\mingw\include\sqlite3.c: In function 'void insertElement(Hash*, _ht*, HashElem*)':
c:\mingw\include\sqlite3.c:26935:19: error: invalid use of incomplete type 'struct _ht'
pHead = pEntry->count ? pEntry->chain : 0;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:26935:35: error: invalid use of incomplete type 'struct _ht'
pHead = pEntry->count ? pEntry->chain : 0;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:26936:11: error: invalid use of incomplete type 'struct _ht'
pEntry->count++;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:26937:11: error: invalid use of incomplete type 'struct _ht'
pEntry->chain = pNew;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c: In function 'int rehash(Hash*, unsigned int)':
c:\mingw\include\sqlite3.c:26967:33: error: invalid application of 'sizeof' to incomplete type '_ht'
if( new_size*sizeof(struct _ht)>SQLITE_MALLOC_SOFT_LIMIT ){
^
c:\mingw\include\sqlite3.c:26968:58: error: invalid application of 'sizeof' to incomplete type '_ht'
new_size = SQLITE_MALLOC_SOFT_LIMIT/sizeof(struct _ht);
^
c:\mingw\include\sqlite3.c:26982:67: error: invalid application of 'sizeof' to incomplete type '_ht'
new_ht = (struct _ht *)sqlite3Malloc( new_size*sizeof(struct _ht) );
^
c:\mingw\include\sqlite3.c:26987:10: error: cannot convert '_ht*' to 'Hash::_ht*' in assignment
pH->ht = new_ht;
^
c:\mingw\include\sqlite3.c:26988:70: error: invalid application of 'sizeof' to incomplete type '_ht'
pH->htsize = new_size = sqlite3MallocSize(new_ht)/sizeof(struct _ht);
^
c:\mingw\include\sqlite3.c:26989:47: error: invalid application of 'sizeof' to incomplete type '_ht'
memset(new_ht, 0, new_size*sizeof(struct _ht));
^
c:\mingw\include\sqlite3.c:26993:32: error: invalid use of incomplete type 'struct _ht'
insertElement(pH, &new_ht[h], elem);
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c: In function 'HashElem* findElementWithHash(const Hash*, const char*, unsigned int*)':
c:\mingw\include\sqlite3.c:27014:12: error: cannot convert 'Hash::_ht*' to '_ht*' in assignment
pEntry = &pH->ht[h];
^
c:\mingw\include\sqlite3.c:27015:18: error: invalid use of incomplete type 'struct _ht'
elem = pEntry->chain;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:27016:19: error: invalid use of incomplete type 'struct _ht'
count = pEntry->count;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c: In function 'void removeElementGivenHash(Hash*, HashElem*, unsigned int)':
c:\mingw\include\sqlite3.c:27051:12: error: cannot convert 'Hash::_ht*' to '_ht*' in assignment
pEntry = &pH->ht[h];
^
c:\mingw\include\sqlite3.c:27052:15: error: invalid use of incomplete type 'struct _ht'
if( pEntry->chain==elem ){
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:27053:13: error: invalid use of incomplete type 'struct _ht'
pEntry->chain = elem->next;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c:27055:11: error: invalid use of incomplete type 'struct _ht'
pEntry->count--;
^
c:\mingw\include\sqlite3.c:26930:10: error: forward declaration of 'struct _ht'
struct _ht *pEntry, /* The entry into which pNew is inserted */
^
c:\mingw\include\sqlite3.c: In function 'void* sqlite3HashInsert(Hash*, const char*, void*)':
c:\mingw\include\sqlite3.c:27125:54: error: cannot convert 'Hash::_ht*' to '_ht*' for argument '2' to 'void insertElem
t(Hash*, _ht*, HashElem*)'
insertElement(pH, pH->ht ? &pH->ht[h] : 0, new_elem);
^
c:\mingw\include\sqlite3.c: In function 'WCHAR* winUtf8ToUnicode(const char*)':
c:\mingw\include\sqlite3.c:36937:69: error: invalid conversion from 'void*' to 'LPWSTR {aka wchar_t*}' [-fpermissive]
zWideFilename = sqlite3MallocZero( nChar*sizeof(zWideFilename[0]) );
^
c:\mingw\include\sqlite3.c: In function 'char* winUnicodeToUtf8(LPCWSTR)':
c:\mingw\include\sqlite3.c:36962:40: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zFilename = sqlite3MallocZero( nByte );
^
c:\mingw\include\sqlite3.c: In function 'WCHAR* winMbcsToUnicode(const char*)':
c:\mingw\include\sqlite3.c:36992:69: error: invalid conversion from 'void*' to 'LPWSTR {aka wchar_t*}' [-fpermissive]
zMbcsFilename = sqlite3MallocZero( nByte*sizeof(zMbcsFilename[0]) );
^
c:\mingw\include\sqlite3.c: In function 'char* winUnicodeToMbcs(LPCWSTR)':
c:\mingw\include\sqlite3.c:37021:40: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zFilename = sqlite3MallocZero( nByte );
^
c:\mingw\include\sqlite3.c: In function 'int winOpenSharedMemory(winFile*)':
c:\mingw\include\sqlite3.c:38920:37: error: invalid conversion from 'void*' to 'winShm*' [-fpermissive]
p = sqlite3MallocZero( sizeof(*p) );
^
c:\mingw\include\sqlite3.c:38923:60: error: invalid conversion from 'void*' to 'winShmNode*' [-fpermissive]
pNew = sqlite3MallocZero( sizeof(*pShmNode) + nName + 17 );
^
c:\mingw\include\sqlite3.c: In function 'int winShmMap(sqlite3_file*, int, int, int, volatile void**)':
c:\mingw\include\sqlite3.c:39255:54: error: invalid use of incomplete type 'struct winShmMap(sqlite3_file*, int, int,
t, volatile void**)::ShmRegion'
pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0])
^
c:\mingw\include\sqlite3.c:39220:12: error: forward declaration of 'struct winShmMap(sqlite3_file*, int, int, int, vol
ile void**)::ShmRegion'
struct ShmRegion *apNew; /* New aRegion[] array */
^
c:\mingw\include\sqlite3.c:39255:55: error: invalid application of 'sizeof' to incomplete type 'winShmMap(sqlite3_file
int, int, int, volatile void**)::ShmRegion'
pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0])
^
c:\mingw\include\sqlite3.c:39261:23: error: cannot convert 'winShmMap(sqlite3_file*, int, int, int, volatile void**)::
mRegion*' to 'winShmNode::ShmRegion*' in assignment
pShmNode->aRegion = apNew;
^
c:\mingw\include\sqlite3.c: In function 'int winGetTempname(sqlite3_vfs*, char**)':
c:\mingw\include\sqlite3.c:39685:34: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zBuf = sqlite3MallocZero( nBuf );
^
c:\mingw\include\sqlite3.c:39794:62: error: invalid conversion from 'void*' to 'LPWSTR {aka wchar_t*}' [-fpermissive]
LPWSTR zWidePath = sqlite3MallocZero( nMax*sizeof(WCHAR) );
^
c:\mingw\include\sqlite3.c:39822:47: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
char *zMbcsPath = sqlite3MallocZero( nMax );
^
c:\mingw\include\sqlite3.c: In function 'int winDelete(sqlite3_vfs*, const char*, int)':
c:\mingw\include\sqlite3.c:40254:45: error: invalid conversion from 'void*' to 'LPCWSTR {aka const wchar_t*}' [-fpermi
ive]
attr = osGetFileAttributesW(zConverted);
^
c:\mingw\include\sqlite3.c:40270:36: error: invalid conversion from 'void*' to 'LPCWSTR {aka const wchar_t*}' [-fpermi
ive]
if ( osDeleteFileW(zConverted) ){
^
c:\mingw\include\sqlite3.c:40283:45: error: invalid conversion from 'void*' to 'LPCSTR {aka const char*}' [-fpermissiv
attr = osGetFileAttributesA(zConverted);
^
c:\mingw\include\sqlite3.c:40298:36: error: invalid conversion from 'void*' to 'LPCSTR {aka const char*}' [-fpermissiv
if ( osDeleteFileA(zConverted) ){
^
c:\mingw\include\sqlite3.c: In function 'int winFullPathname(sqlite3_vfs*, const char*, int, char*)':
c:\mingw\include\sqlite3.c:40573:55: error: invalid conversion from 'void*' to 'LPWSTR {aka wchar_t*}' [-fpermissive]
zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) );
^
c:\mingw\include\sqlite3.c:40599:55: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) );
^
c:\mingw\include\sqlite3.c: In function 'void (* winDlSym(sqlite3_vfs*, void*, const char*))()':
c:\mingw\include\sqlite3.c:40679:44: error: invalid conversion from 'HANDLE {aka void*}' to 'HMODULE {aka HINSTANCE__*
[-fpermissive]
proc = osGetProcAddressA((HANDLE)pH, zSym);
^
c:\mingw\include\sqlite3.c: In function 'void winDlClose(sqlite3_vfs*, void*)':
c:\mingw\include\sqlite3.c:40686:32: error: invalid conversion from 'HANDLE {aka void*}' to 'HMODULE {aka HINSTANCE__*
[-fpermissive]
osFreeLibrary((HANDLE)pHandle);
^
c:\mingw\include\sqlite3.c: In function 'Bitvec* sqlite3BitvecCreate(u32)':
c:\mingw\include\sqlite3.c:41105:37: error: invalid conversion from 'void*' to 'Bitvec*' [-fpermissive]
p = sqlite3MallocZero( sizeof(*p) );
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'int sqlite3BitvecSet(Bitvec*, u32)':
c:\mingw\include\sqlite3.c:41200:21: error: invalid conversion from 'void*' to 'u32* {aka unsigned int*}' [-fpermissiv
u32 *aiValues = sqlite3StackAllocRaw(0, sizeof(p->u.aHash));
^
In file included from SQLite3-Amalgamation_example.c:5:0:
c:\mingw\include\sqlite3.c: In function 'void sqlite3BitvecClear(Bitvec*, u32, void*)':
c:\mingw\include\sqlite3.c:41243:21: error: invalid conversion from 'void*' to 'u32* {aka unsigned int*}' [-fpermissiv
u32 *aiValues = pBuf;
^
c:\mingw\include\sqlite3.c: In function 'int sqlite3BitvecBuiltinTest(int, int*)':
c:\mingw\include\sqlite3.c:41334:40: error: invalid conversion from 'void*' to 'unsigned char*' [-fpermissive]
pV = sqlite3MallocZero( (sz+7)/8 + 1 );
^
c:\mingw\include\sqlite3.c: In function 'int pcache1InitBulk(PCache1*)':
c:\mingw\include\sqlite3.c:42379:9: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zBulk = pCache->pBulk = sqlite3Malloc( szBulk );
^
c:\mingw\include\sqlite3.c: In function 'RowSet* sqlite3RowSetInit(sqlite3*, void*, unsigned int)':
c:\mingw\include\sqlite3.c:43475:5: error: invalid conversion from 'void*' to 'RowSet*' [-fpermissive]
p = pSpace;
^
c:\mingw\include\sqlite3.c: In function 'RowSetEntry* rowSetEntryAlloc(RowSet*)':
c:\mingw\include\sqlite3.c:43519:53: error: invalid conversion from 'void*' to 'RowSetChunk*' [-fpermissive]
pNew = sqlite3DbMallocRawNN(p->db, sizeof(*pNew));
^
c:\mingw\include\sqlite3.c: In function 'int pager_delmaster(Pager*, const char*)':
c:\mingw\include\sqlite3.c:46467:65: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
zMasterJournal = sqlite3Malloc(nMasterJournal + nMasterPtr + 1);
^
c:\mingw\include\sqlite3.c: In function 'int readDbPage(PgHdr*, u32)':
c:\mingw\include\sqlite3.c:46908:68: error: invalid conversion from 'void*' to 'u8* {aka unsigned char*}' [-fpermissiv
rc = sqlite3WalReadFrame(pPager->pWal, iFrame, pgsz, pPg->pData);
^
c:\mingw\include\sqlite3.c:43946:20: note: initializing argument 4 of 'int sqlite3WalReadFrame(Wal*, u32, int, u8*)'
SQLITE_PRIVATE int sqlite3WalReadFrame(Wal *, u32, int, u8 *);
Aun asi no puedo:
g++ -Wall -Werror -pedantic -std=c++11 -pthread -o SQLite3-Amalgamati
on_example SQLite3-Amalgamation_example.c -Wall -Werror -pedantic -std=c++11 -pthread