I am getting 4 link errors when compiling for our Windows CE 5  
platform with the amalgamated version of 3.6.4. They are for  
CreateFileA, GetFileAttributesA, DeleteFileA and LoadLibraryA.

 From looking at the code, isNT() is defined to 1 for CE, and the  
above four functions are in else cases on 'if (isNT())...'s but the  
problem is that the check would be at runtime, and so the linker has  
to link them in even though they won't get called.

At least in our case, our CE platform doesn't have those ASCII  
variants available, so I get an "unresolved external symbol" error  
(they're apparently still in the header file, or it would have failed  
to compile).

The last version we used was 3.5.7 and we didn't have this problem  
with it.
As an example difference, 3.5.7's version of winOpen() had:

#if OS_WINCE
   return SQLITE_NOMEM;
#else
...CreateFileA...
#endif

guarding the CreateFileA call, but 3.6.4 does not.

Was the omission of that guard intentional in 3.6.4?
I can just tweak our copy of sqlite.c, but I wanted to mention it in  
case it's not just a peculiarity of our platform.

Cheers,
Dave

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

Reply via email to