[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