Charlene Wendling:
> TL;DR: i can't get libmp4v2 build with C++14.
I'll take your word for it.
> Thanks for this one. There are a lot of them actually: mostly
> narrowing to int errors, there is an integer overflow somewhere
> i guess, but i can't find it, for example:
>
> util/mp4art.cpp:378:14: error: case value evaluates to 4026531846,
> which cannot be narrowed to type 'int' [-Wc++11-narrowing]
> Repeated on lines 378, 382, 391, 395, 402, 406, 413
That starts in libutil/Utility.h with enum LongCode, where _LC_MAX
ends up with the value 0xf0000006. Then in util/mp4art.cpp,
LC_ART_ANY etc. are defined starting with this value, which doesn't
fit into an int.
> --- Makefile 29 Apr 2019 11:38:17 -0000 1.19
> +++ Makefile 1 May 2019 00:17:13 -0000
> @@ -27,6 +27,9 @@ USE_GMAKE = Yes
> MAKE_FILE = GNUmakefile
> CONFIGURE_STYLE = gnu
>
> +# As of mp4v2-1.9.1, the code is written for c++03, using c++>=11 causes too
> +# many narrowing to int issues in a roll-your-own option management, among
> +# others.
> CXXFLAGS += -std=c++03
>
> .include <bsd.port.mk>
ok
--
Christian "naddy" Weisgerber naddy@mips.inka.de
No comments:
Post a Comment