LeoHsiao1 / pyexiv2

Read and write image metadata, including EXIF, IPTC, XMP, ICC Profile.
GNU General Public License v3.0
196 stars 39 forks source link

exiv2api.cpp will compile with exiv2 until version 0.27.7 #132

Closed RalfPeter closed 5 months ago

RalfPeter commented 5 months ago

I guess there was a change in exiv2 api. Comiling with version 0.28.0 and above throws following errors:

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.33
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
        1 Datei(en) kopiert.
Microsoft (R) C/C++-Optimierungscompiler Version 19.38.33133 für x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

exiv2api.cpp
exiv2api.cpp(125): error C2039: "AutoPtr" ist kein Member von "Exiv2::Image".
D:\Sources-C\exiv2-0.28.1-2019msvc64\include\exiv2\image.hpp(50): note: Siehe Deklaration von "Exiv2::Image"
exiv2api.cpp(125): error C2143: Syntaxfehler: Es fehlt ";" vor "*"
...

Exiv2 versions before 0.28.0 will compile without errors,

Can i solve it myself? Where to find the corresponding code for the exiv2api.cpp?

LeoHsiao1 commented 5 months ago

See https://github.com/Exiv2/exiv2/issues/1264 exiv2 v0.28 changed the code to C++11 style, so the old code compiles with some syntax errors. I'm now trying to resolve these syntax errors. The C++ code of pyexiv2 is all located in exiv2api.cpp, which calls Exiv2 C++ API .

LeoHsiao1 commented 5 months ago

I just committed a branch update_exiv2_to_0.28 You can compile its source code. I'm going to merge that branch into the master branch of pyexiv2 in a couple months.

RalfPeter commented 5 months ago

Worked perfectly. I'm not familiar with C++ anymore, so i could have done it by myself. TYVM