I know this question is pretty old now, but I've had a similar issue with mex and I could solve it by specifying not only the library directory search path, but also the name of the compiled library object.
For that I used the following command:
mex main.cpp -I<path/to/lib> -L<path/to/lib/objects> -l<object_name>
The command line option -l
is used to tell mex to link a specified object library. Mex will then try to find whatever is added to -l
and will append .lib for windows and .LIBEXT for unix.
Here an example with real paths:
mex main.cpp -IC:\boost_1_54_0 -LC:\boost_1_54_0\release -lthread
And finally in your case I would suggest trying:
mex main.cpp -IC:\Boost\1.55.0\VC\10.0\x64 -LC:\Boost\1.55.0\VC\10.0\x64\stage\lib -lthread
EDIT:
I noticed that defining BOOST_ALL_NO_LIB
also helps, because when I remove this define I get the error again.
To define a symbol name you can use the command line option -D
so just add -DBOOST_ALL_NO_LIB