[FFmpeg-user] make error with --enable-decklink

马 伟 v at maweis.com
Wed Dec 24 17:33:51 CET 2014


Hello Carl Eugen


I am trying to compile ffmpeg enable decklink, But I meet some problem.




Peters-MBP-5:ffmpeg-2.3.5 peter$ ./configure --prefix=/usr/local/ffmpeg-2.3.5 --enable-libx264 --enable-gpl --enable-libfaac --enable-libmp3lame --enable-nonfree --enable-decklink  --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib"

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1

install prefix            /usr/local/ffmpeg-2.3.5




Peters-MBP-5:ffmpeg-2.3.5 peter$ sudo make
Password:
CXX	libavdevice/decklink_enc.o
error: invalid argument '-std=c99' not allowed with 'C++/ObjC++'
make: *** [libavdevice/decklink_enc.o] Error 1
Peters-MBP-5:ffmpeg-2.3.5 peter$ make V=1
g++ -D__STDC_CONSTANT_MACROS -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -DHAVE_AV_CONFIG_H -I/usr/local/include -std=c99 -mdynamic-no-pic -fomit-frame-pointer -fPIC -pthread -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/usr/local/include/SDL -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -O3 -fno-math-errno -fno-signed-zeros -Qunused-arguments -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type   -c -o libavdevice/decklink_enc.o libavdevice/decklink_enc.cpp
error: invalid argument '-std=c99' not allowed with 'C++/ObjC++'
make: *** [libavdevice/decklink_enc.o] Error 1

————————————————————
Here I follow yours in the last thread, replace the std=99 and execute it.

————————————————————

Peters-MBP-5:ffmpeg-2.3.5 peter$ g++ -D__STDC_CONSTANT_MACROS -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -DHAVE_AV_CONFIG_H -I/usr/local/include  -mdynamic-no-pic -fomit-frame-pointer -fPIC -pthread -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/usr/local/include/SDL -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -O3 -fno-math-errno -fno-signed-zeros -Qunused-arguments -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type   -c -o libavdevice/decklink_enc.o libavdevice/decklink_enc.cpp
In file included from libavdevice/decklink_enc.cpp:27:
/usr/local/include/DeckLinkAPIDispatch.cpp:56:6: error: no previous prototype for function 'InitDeckLinkAPI'
      [-Werror,-Wmissing-prototypes]
void    InitDeckLinkAPI (void)
        ^
/usr/local/include/DeckLinkAPIDispatch.cpp:77:7: error: no previous prototype for function 'IsDeckLinkAPIPresent'
      [-Werror,-Wmissing-prototypes]
bool            IsDeckLinkAPIPresent (void)
                ^
/usr/local/include/DeckLinkAPIDispatch.cpp:157:6: error: no previous prototype for function 'InitBMDStreamingAPI'
      [-Werror,-Wmissing-prototypes]
void InitBMDStreamingAPI(void)
     ^
libavdevice/decklink_enc.cpp:176:39: error: cannot initialize a parameter of type 'CFStringRef *'
      (aka 'const __CFString **') with an rvalue of type 'const char **'
    HRESULT hr = This->GetDisplayName(&tmpDisplayName);
                                      ^~~~~~~~~~~~~~~
/usr/local/include/DeckLinkAPIDiscovery.h:57:60: note: passing argument to parameter 'displayName' here
    virtual HRESULT GetDisplayName (/* out */ CFStringRef *displayName) = 0;
                                                           ^
libavdevice/decklink_enc.cpp:266:5: warning: 'sem_init' is deprecated [-Wdeprecated-declarations]
    sem_init(&ctx->semaphore, 0, ctx->frames_buffer);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:55:5: note:
      'sem_init' has been explicitly marked deprecated here
int sem_init(sem_t *, int, unsigned int) __deprecated;
    ^
libavdevice/decklink_enc.cpp:339:5: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations]
    sem_destroy(&ctx->semaphore);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:53:5: note:
      'sem_destroy' has been explicitly marked deprecated here
int sem_destroy(sem_t *) __deprecated;
    ^
libavdevice/decklink_enc.cpp:392:40: warning: struct 'IDeckLinkVideoFrame' was previously declared as a class
      [-Wmismatched-tags]
    hr = ctx->dlo->ScheduleVideoFrame((struct IDeckLinkVideoFrame *) frame,
                                       ^
/usr/local/include/DeckLinkAPI.h:562:7: note: previous use is here
class IDeckLinkVideoFrame : public IUnknown
      ^
libavdevice/decklink_enc.cpp:392:40: note: did you mean class here?
    hr = ctx->dlo->ScheduleVideoFrame((struct IDeckLinkVideoFrame *) frame,
                                       ^~~~~~
                                       class
3 warnings and 4 errors generated.
Peters-MBP-5:ffmpeg-2.3.5 peter$



————————————————————

I just copy the decklink sdks include directory into the /usr/local/include directory.


Would u like give me some suggest, Thanks a Lot.


Best Regards
Maven
25 Dec, 2014



More information about the ffmpeg-user mailing list