Bug #898
GCC warning when including exiv2.hpp
0%
Description
With gcc 4.8.0, I get the following warning when including the exiv2 header:
In file included from /usr/include/exiv2/metadatum.hpp:39:0,
from /usr/include/exiv2/exif.hpp:34,
from /usr/include/exiv2/bmpimage.hpp:34,
from /usr/include/exiv2/exiv2.hpp:35,
from ...
/usr/include/exiv2/value.hpp:984:56: note: attribute for ‘struct Exiv2::DateValue::Date’ must follow the ‘struct’ keyword
EXIV2API struct Date
Files
Related issues
History
Updated by Robin Mills over 8 years ago
- Category set to build
- Status changed from New to Assigned
- Assignee set to Robin Mills
- Target version set to 0.24
Thanks for report this, Jan. I built and run the test suite on the trunk last week with 4.8.0 on Ubuntu 12.10 (64 bit). I reported details here: http://dev.exiv2.org/issues/897
Can you provide a more detail, please. Which version of exiv2 (eg trunk or tar-bundle) and information about your platform 32 or 64 bit. Can you post your <exiv2dir>/config.log file please.
Robin
Updated by Jan Rüegg over 8 years ago
Using exiv2 on Archlinux 64-bit (precompiled, so I don't have the config.log):
extra/exiv2 0.23-1
gcc --version
gcc (GCC) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling this example:
http://www.exiv2.org/doc/exifprint_8cpp-example.html
with "g++ test.cpp -lexiv2":
In file included from /usr/include/exiv2/metadatum.hpp:39:0,
from /usr/include/exiv2/exif.hpp:34,
from /usr/include/exiv2/bmpimage.hpp:34,
from /usr/include/exiv2/exiv2.hpp:35,
from test.cpp:5:
/usr/include/exiv2/value.hpp:984:25: note: attribute for ‘struct Exiv2::DateValue::Date’ must follow the ‘struct’ keyword
EXIV2API struct Date
Do you need more information?
Updated by Robin Mills over 8 years ago
Jan
I've downloaded the tar-bundle from here: http://exiv2.org/download.html http://exiv2.org/exiv2-0.23.tar.gz and I when I build with GCC 4.8.0, I get that message everywhere when I build. When I build from the trunk, it's clean.
There are two changes in src/value.hpp on the trunk and those were fixed in this submission: http://dev.exiv2.org/projects/exiv2/repository/revisions/2907
I've attached the version of value.hpp from the trunk. The changes only impacts how Date is declared in the code, so there should be no side effects on running code.
So ........ the fix is to replace your copy of value.hpp with the one I have attached here.
Robin
Updated by Robin Mills over 8 years ago
- Status changed from Assigned to Resolved
I've built the tar-ball of 0.23 with GCC 4.7.2 and ran the test suite. It passes. I've replaced value.hpp with the version attached to this issue report and built with GCC 4.8.0. The test suite passes.
I'm going to update this issue to "Resolved". If you feel there is something else to discuss, please update the issue to "Feedback" and explain your thoughts.
If you're satisfied with this answer, can you update the issue to 'closed'.
Robin
Updated by Jan Rüegg over 8 years ago
Yes, thats fine, thanks a lot! I guess it will be in version 0.24 then, once it is out?
Closing sounds good. However, I think I don't see how to do it. Maybe I don't have the permissions? Anyway, you can close it if you want.
Updated by Robin Mills over 8 years ago
- Status changed from Resolved to Closed
Jan
I must have the power! The UI provides me with tools to assign issues and stuff. Yes, it makes sense that users would not have those tools. No problem, I've closed this.
You can always sync and build from the trunk. Our code is stable and I run the test suite frequently on Linux/Windows/Mac. r2907 (the only change to value.hpp since 0.23) will be in the 0.24 version when we release it.
Robin