Skip to content

0.11.0 won't build against recent Exiv2 version #153

@MadFatVlad

Description

@MadFatVlad

Hello! There has been a couple of problems for me when building on Arch Linux against exiv2 version 0.28.3:

/tmp/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/database/exifFunctions.cpp: In function «int exifDefaultRotation(std::string)»:
/tmp/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/database/exifFunctions.cpp:126:80: ошибка: «const class Exiv2::Value» не содержит элемента с именем «toLong»
  126 |             exifOrientation = (int) exifData["Exif.Image.Orientation"].value().toLong();
      |                                                                                ^~~~~~
/tmp/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/database/exifFunctions.cpp: In function «int exifRating(std::string)»:
/tmp/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/database/exifFunctions.cpp:298:64: ошибка: «class Exiv2::Xmpdatum» не содержит элемента с именем «toLong»
  298 |             return min(5,max(0,(int) xmpData["Xmp.xmp.Rating"].toLong()));
      |                                                                ^~~~~~ 
make[2]: *** [CMakeFiles/filmulator.dir/build.make:690: CMakeFiles/filmulator.dir/database/exifFunctions.cpp.o] Ошибка 1

Fixed this by replacing both .toLong() with .toInt64() (based on Exiv2/exiv2#2630 (comment))

/home/vlad/.cache/yay/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/core/imwriteJpeg.cpp: In function «void remove_exif_keys(Exiv2::ExifData&, const char**, unsigned int)»:
/home/vlad/.cache/yay/filmulator/src/filmulator-gui-0.11.1/filmulator-gui/core/imwriteJpeg.cpp:189:25: ошибка: «AnyError» в пространстве имен «Exiv2» не именует тип
  189 |         } catch (Exiv2::AnyError &e) {
      |                         ^~~~~~~~
make[2]: *** [CMakeFiles/filmulator.dir/build.make:466: CMakeFiles/filmulator.dir/core/imwriteJpeg.cpp.o] Ошибка 1

Fixed this by replacing both AnyError with Error (based on Exiv2/exiv2#2630 (comment))

It seems that Exiv2 v0.28 breaks a lot of apps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions