Hello, On 09:38 Tue 02/22/11 Feb , Mathieu Malaterre wrote: > reassign 614471 ffmpeg > thanks > > > [ 29%] Building CXX object > > VTK/IO/CMakeFiles/vtkIO.dir/vtkPostgreSQLQuery.cxx.o > > In file included from /usr/include/libavutil/avutil.h:81, > > from /usr/include/libavcodec/avcodec.h:30, > > from /usr/include/libavformat/avformat.h:56, > > from > > /build/user-paraview_3.8.1-2-amd64-4Wj_N7/paraview-3.8.1/VTK/IO/vtkFFMPEGWriter.cxx:27: > > /usr/include/libavutil/common.h: In function 'int32_t > > av_clipl_int32(int64_t)': > > /usr/include/libavutil/common.h:154: error: 'UINT64_C' was not declared in > > this scope > > Clearly the issue is in the libavutil.h code (not in paraview)
This is an issue of paraview. Paraview is written in C++ while libavutil is written in C. The ISO C99 standard (7.18.4) specifies that C++ implementations should define UINT64_C only when __STDC_CONSTANT_MACROS is defined, so even when stdint.h is included, UINT64_C may be not in scope in C++ programs, but this never happens in C programs. Regards, Lifeng > > > /** > * Clips a signed 64-bit integer value into the -2147483648,2147483647 range. > * @param a value to clip > * @return clipped value > */ > static inline av_const int32_t av_clipl_int32(int64_t a) > { > if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (a>>63) ^ 0x7FFFFFFF; > else return a; > } > > > Thanks > > > > -- > debian-science-maintainers mailing list > debian-science-maintain...@lists.alioth.debian.org > http://lists.alioth.debian.org/mailman/listinfo/debian-science-maintainers --
--- a/VTK/IO/vtkFFMPEGWriter.cxx +++ b/VTK/IO/vtkFFMPEGWriter.cxx @@ -21,6 +21,10 @@ #include "vtkFFMPEGConfig.h" extern "C" { +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif + #ifdef VTK_FFMPEG_HAS_OLD_HEADER # include <ffmpeg/avformat.h> #else
signature.asc
Description: GnuPG digital signature