Compilation error: AAFPluginCOM.o

Help
Anonymous
2011-02-24
2013-04-29

  • Anonymous
    2011-02-24

    Hello, i can't compile AAF,

    g++ -c -g -Wall -Wundef -Wno-non-virtual-dtor -Werror -Wno-reorder -Wno-unused -D_DEBUG -DOM_DEBUG -DOM_STACK_TRACE_ON_ASSERT  -fsigned-char -DOM_USE_SCHEMASOFT_SS -DOM_STRUCTURED_STORAGE -DUSE_FFMPEG  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=500 -I. -I../include -I../include/ref-api -I../src/impl -I../src/com-api -I../src/com-api/com-dll -I../libjpeg  -I../include/com-api AAFPluginCOM.cpp -o ../../AAFi686LinuxSDK/g++/ref-impl/debug/AAFPluginCOM.o
    In file included from /usr/include/libavutil/avutil.h:96,
                     from /usr/include/libavcodec/avcodec.h:31,
                     from CAAFCDCICodec.h:59,
                     from AAFPluginObjectTable_i.cpp:44,
                     from AAFPluginCOM.cpp:59:
    /usr/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’:
    /usr/include/libavutil/common.h:168: error: ‘UINT64_C’ was not declared in this scope
    make: ***  Erreur 1
    make: quittant le répertoire « /home/goul/src/AAF-CVS/ref-impl/plugins »
    make: ***  Erreur 2
    make: quittant le répertoire « /home/goul/src/AAF-CVS/ref-impl »
    make: ***  Erreur 2

    i am on debian sid.
    thanks

     
  • Philip de Nier
    Philip de Nier
    2011-02-26

    That particular use of UINT64_C was added to FFmpeg on 26-04-2010. In C++ you need to define __STDC_CONSTANT_MACROS to access the UINT64_C macro.

    Try adding this line to AAF/ref-impl/plugins/CAAFCDCICodec.h, line 57 (i.e. just before extern "C {…):
    #define __STDC_CONSTANT_MACROS

    Let me know if it works so that I can update the CVS.

    Philip