zhouhbsea/caltech-image-search

Compilation using Visual Studio (Windows)

GoogleCodeExporter opened this issue · 3 comments

I have successfully compiled and used the hierarchical k-means clustering and 
the hierarchical nearest neighbor search MATLAB 2010b under Windows XP after 
changing some parts of your source code (on my computer).

1.
Do you plan to fix the few incompatibilities which prevent the C code from 
compiling in Visual Studio (Windows)?


2.
What I did not manage though, was to compile your project in Visual Studio 2008 
with boost 1.46.1 as a static lib in order to use it in my C++ project. I would 
be glad if you could help me resolving the following error:

error C2678: binary '<' : no operator found which takes a left-hand operand of 
type 'const LshBucket' (or there is no acceptable conversion)
c:\programme\microsoft visual studio 9.0\vc\include\xutility @ Line 285

Can you provide a cmake file which I can use in order to create and compile 
your project in Visual Studio 2008?
Perhaps I forgot to add something apart from the boost library during the setup 
of the project in Visual Studio?


3.
Can you also provide some C code for the hierarchical k-means clustering, i.e. 
the creation of the index structure in C++, especially the assignment of the 
data?
e.g. 10 feature vectors of dimension 8 (new float[8 * 10]).

Original issue reported on code.google.com by s13...@yahoo.com on 3 Aug 2011 at 10:27

I would like this too, if it works on windows.

Original comment by arjunj...@gmail.com on 14 Sep 2011 at 10:00

I've compiled the library using MSVC 2010, after adding some missing functions, 
adding return values and removing some function ambiguities that were causing 
errors. 

Modified source attached, mexw32 and mexw64 binaries (w/o debug) also.

Original comment by doug...@gmail.com on 16 Dec 2013 at 7:31

Attachments:

On feedback of the above code, I should have mentioned that the Boost-C++ 
library must be downloaded and the "boost" directory made available in the 
MSVC++ include search directories (or the COMPILE.m file modified to include 
the -I <include_path> option). I simply placed a symbolic link to the boost 
directory in the "C:\Program Files (x86)\Microsoft Visual Studio 
10.0\VC\include" directory.

There is also a COMPILE_PARALLEL.m script included in the above attachment 
which compiles on all available processors to speed things up (compiling the 
caltech image search library takes a while). This uses a "parfor" and probably 
requires the parallel toolbox to use; just use COMPILE.m if you don't have it.

Original comment by doug...@gmail.com on 4 Jan 2014 at 8:16