SpatialIndex headers do not match libs

Oct 14, 2013 at 2:36 PM
Edited Oct 14, 2013 at 6:27 PM

I'm trying to compile the MapWinGIS control from the latest sources found on CodePlex (Commit 73157), using Visual Studio 2010. Since there is no VS2010 project file in the trunk, I created a new one by converting from the VS2008 project file. After fiddling around with some local settings I was able to compile, but the linker still doesn't succeed.

After analyzing the problem I found that the provided library for the SpatialIndex (...\trunk\SupportingLibraries\lib\Win32\SpatialIndex.lib) seems to be a static library, where as the source code in ...\trunk\SupportingLibraries\include\spatialindex\tools\Tools.h expects a dynamic library (DLL) because of the precence of the WIN32 symbol.

Further more there are no debug libraries provided in the repository, therefore I'm not able to create a debug version of the control.

Is it possible the the commited files in the repo are not yet up to date?

How am I supposed to use SpatialIndex and possibly other libraries? Is it supposed that a I have to compile them by myself each time something changes?

Thanks for any response

PS: I've just seen that there is a new project file with some new settings for the library paths. I'll give this project file a try soon, but the library types (static/dynamic) will still not match...
Oct 15, 2013 at 11:40 AM
Hi Franz-Josef,

We are currently in the process of updating the external libraries (GDAL, GEOS, SpatialIndex) to their latest version.
Because multiple persons are working on this, we had to commit our changes.
We had several issues, most of them are fix. Except for the SpatialIndex library.
It seems the latest version v1.8 is not compatible with the version we were using.
We are now trying to revert back to the previous version of that library. If that is working (hopefully today or tomorrow) we'll commit some more changes (mostly updated lib and dll files).

If you are confident you may create some patches so we can use the latest version of the SpatialIndex library.
You can get the source code at

If you cannot wait for us to finish you can compile the branch version: that is using the old libraries and should compile correctly.