Compile Errors (VS 2010)
some time ago, I successfully compiled exiv2 on VS 2010 x64 using ./msvc64/exiv2.sln. It was RV 2476 and I didn't need any modifications.
RV 2477 introduced a compiling error in iptc.cpp saying:
'back_inserter' : is not a member of 'std'
#include <iterator>solves the problem, which I can confirm.
Nevertheless with the actual version RV 2511, the following link error appears in exiv2lib
4>Link: 4> Creating library C:\Data\Developx64\exiv2-trunk\msvc64\exiv2lib\x64\ReleaseDLL\\exiv2.lib and object C:\Data\Developx64\exiv2-trunk\msvc64\exiv2lib\x64\ReleaseDLL\\exiv2.exp 4>image.obj : error LNK2001: unresolved external symbol "bool __cdecl Exiv2::isEpsType(class Exiv2::BasicIo &,bool)" (?isEpsType@Exiv2@@YA_NAEAVBasicIo@1@_N@Z) 4>image.obj : error LNK2001: unresolved external symbol "class std::auto_ptr<class Exiv2::Image> __cdecl Exiv2::newEpsInstance(class std::auto_ptr<class Exiv2::BasicIo>,bool)" (?newEpsInstance@Exiv2@@YA?AV?$auto_ptr@VImage@Exiv2@@@std@@V?$auto_ptr@VBasicIo@Exiv2@@@3@_N@Z) 4>x64\ReleaseDLL\exiv2.dll : fatal error LNK1120: 2 unresolved externals 4> 4>Build FAILED.
I would appreciate if someone could fix these problems in svn
Updated by Robin Mills almost 9 years ago
Thanks for reporting this and for providing a solution to the "#include <iterator>" issue. I've reproduced this and agree with your fix. I've rebuilt on Mac and Linux and that seems to be fine.
The unsatisfied externals are a little more tricky and result from a great new feature introduced last week by Volker. He did ask me to review his submission and I'll get that done in the next few days. Please remember that the trunk is a development branch and will be be broken from time to time. The msvc and msvc64 environments are more fragile because the 'core' development takes place on Mac and Linux. We'll fix it of course.
So thanks for finding and letting us know about this. I'll submit a fix to both those issues later this week.
Updated by Volker Grabsch almost 9 years ago
Robin Mills wrote:
The unsatisfied externals are a little more tricky and result from a great new feature introduced last week by Volker.
The main cause of the linker error are missing entried for the new source files src/epsimage.cpp and src/epsimage.hpp. I added those only to src/Makefile, but I think they have to be added to the MSVC build scripts as well:
- ... more files? ...
It would be great if someone else could do that, as I'm not an expert with those file formats. I don't even know whether those files are generated automatically or maintained by hand.