Project

General

Profile

Bug #777

Compile Errors (VS 2010)

Added by Daniel Kaneider about 8 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
miscellaneous
Target version:
Start date:
25 Jun 2011
Due date:
% Done:

100%

Estimated time:

Description

Hi,

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'

According to http://stackoverflow.com/questions/2959234/vs2008-vs2010-leads-to-cryptic-stl-error a

#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

Thanks,
Daniel

History

#1

Updated by Robin Mills about 8 years ago

Daniel

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.

Robin

#2

Updated by Volker Grabsch about 8 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:

  • msvc/exiv2lib/exiv2lib.vcproj
  • msvc64/exiv2lib/exiv2lib.vcproj
  • ... 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.

#3

Updated by Daniel Kaneider about 8 years ago

Thanks, You were right. Adding version.* and epsimage.* to the msvc project files solved the problem! (tested on RV 2519)

#4

Updated by Robin Mills about 8 years ago

SVN: 2524 deals with this.
There are outstanding 64bit compilation issues which I will submit separately for team review.

Robin

#5

Updated by Daniel Kaneider about 8 years ago

RV 2538 seems to be just fine with x64.    Thanks!

#6

Updated by Andreas Huggel about 8 years ago

  • Category set to miscellaneous
  • Status changed from New to Resolved
  • Assignee set to Robin Mills
  • % Done changed from 0 to 100

Thanks for the feedback Daniel

#7

Updated by Robin Mills about 8 years ago

  • Status changed from Resolved to Closed
  • Priority changed from Urgent to Normal

Daniel

I think we're done on this. However if you think otherwise, you know we will listen and respond. Thank you for bringing this to our attention.

Also available in: Atom PDF