voc / decklink-debugger

Blackmagicdesign DeckLink input debugger
MIT License
23 stars 9 forks source link

Does the latest version actually compile? #7

Closed danielbodart closed 5 years ago

danielbodart commented 5 years ago

Kernel:

$ uname -a
Linux desktop 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu Version:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

CMake:

$ cmake .. -DBLACKMAGIC_SDK_DIR=~/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using Blackmagic SDK dir: ~/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/
-- Including DeckLink API files in: /home/dan/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/include
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dan/Projects/decklink-debugger/build

Make:

$ make -j$(nproc)
Scanning dependencies of target resources
Compiling rc/style.css in /home/dan/Projects/decklink-debugger/ to /home/dan/Projects/decklink-debugger/build/rc.hex/style.css.hex
[  0%] Built target resources
Scanning dependencies of target decklink-debugger
[  7%] Building CXX object CMakeFiles/decklink-debugger.dir/util.cpp.o
[ 14%] Building CXX object CMakeFiles/decklink-debugger.dir/CaptureDelegate.cpp.o
[ 21%] Building CXX object CMakeFiles/decklink-debugger.dir/SubDeviceUtil.cpp.o
[ 28%] Building CXX object CMakeFiles/decklink-debugger.dir/decklink-debugger.cpp.o
[ 35%] Building CXX object CMakeFiles/decklink-debugger.dir/log.cpp.o
[ 42%] Building CXX object CMakeFiles/decklink-debugger.dir/HttpServer.cpp.o
[ 50%] Building CXX object CMakeFiles/decklink-debugger.dir/MutableVideoFrame.cpp.o
[ 57%] Building CXX object CMakeFiles/decklink-debugger.dir/tostring.cpp.o
[ 64%] Building CXX object CMakeFiles/decklink-debugger.dir/DeviceProber.cpp.o
[ 71%] Building CXX object CMakeFiles/decklink-debugger.dir/DeckLinkAPIDispatch.cpp.o
[ 78%] Building CXX object CMakeFiles/decklink-debugger.dir/ImageEncoder.cpp.o
[ 92%] Building CXX object CMakeFiles/decklink-debugger.dir/TablePrinter.cpp.o
[ 92%] Building CXX object CMakeFiles/decklink-debugger.dir/rc.cpp.o
In file included from /home/dan/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/include/DeckLinkAPI.h:47:0,
                 from /home/dan/Projects/decklink-debugger/MutableVideoFrame.h:4,
                 from /home/dan/Projects/decklink-debugger/MutableVideoFrame.cpp:1:
/home/dan/Projects/decklink-debugger/MutableVideoFrame.cpp: In member function ‘virtual HRESULT MutableVideoFrame::QueryInterface(REFIID, void**)’:
/home/dan/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/include/LinuxCOM.h:85:111: warning: ISO C++ forbids compound-literals [-Wpedantic]
 #define IID_IUnknown  (REFIID){0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}
                                                                                                               ^
/home/dan/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/include/LinuxCOM.h:52:31: note: in definition of macro ‘CFUUIDGetUUIDBytes’
 #define CFUUIDGetUUIDBytes(x) x
                               ^
/home/dan/Applications/Blackmagic-DeckLink-SDK-11.0/Linux/include/LinuxCOM.h:86:23: note: in expansion of macro ‘IID_IUnknown’
 #define IUnknownUUID  IID_IUnknown
                       ^~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/MutableVideoFrame.cpp:83:44: note: in expansion of macro ‘IUnknownUUID’
  CFUUIDBytes iunknown = CFUUIDGetUUIDBytes(IUnknownUUID);
                                            ^~~~~~~~~~~~
In file included from /home/dan/Projects/decklink-debugger/DeviceProber.h:8:0,
                 from /home/dan/Projects/decklink-debugger/DeviceProber.cpp:15:
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:37:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*    queryAttributesInterface();
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:63:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*             m_deckLinkAttributes;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: error: ‘IDeckLinkAttributes’ was not declared in this scope
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
              BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:33: error: template argument 1 is invalid
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
                                 ^
/home/dan/Projects/decklink-debugger/DeviceProber.cpp: In member function ‘bool DeviceProber::queryCanAutodetect()’:
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:86:2: error: ‘IDeckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:86:2: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp: In static member function ‘static bool SubDeviceUtil::SupportsDuplexMode(IDeckLink*)’:
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:26:2: error: ‘IDeckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:86:23: error: ‘deckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
In file included from /home/dan/Projects/decklink-debugger/DeviceProber.h:8:0,
                 from /home/dan/Projects/decklink-debugger/HttpServer.h:9,
                 from /home/dan/Projects/decklink-debugger/HttpServer.cpp:1:
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:37:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*    queryAttributesInterface();
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:86:23: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
                       BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:26:2: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:87:33: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class RefReleaser’
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                 ^
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:87:33: note:   expected a type, got ‘IDeckLinkAttributes’
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:26:23: error: ‘deckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:90:38: error: ‘IID_IDeckLinkAttributes’ was not declared in this scope
  result = m_deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                      ^~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:63:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*             m_deckLinkAttributes;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: error: ‘IDeckLinkAttributes’ was not declared in this scope
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:26:23: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
                       BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:27:33: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class RefReleaser’
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                 ^
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:27:33: note:   expected a type, got ‘IDeckLinkAttributes’
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:30:36: error: ‘IID_IDeckLinkAttributes’ was not declared in this scope
  result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                    ^~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:90:38: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  result = m_deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                      ^~~~~~~~~~~~~~~~~~~~~~~
                                      BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
              BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:33: error: template argument 1 is invalid
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
                                 ^
/home/dan/Projects/decklink-debugger/DeviceProber.cpp:87:35: warning: unused variable ‘deckLinkAttributesReleaser’ [-Wunused-variable]
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:30:36: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                    ^~~~~~~~~~~~~~~~~~~~~~~
                                    BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:35:39: error: ‘BMDDeckLinkSupportsDuplexModeConfiguration’ was not declared in this scope
  result = deckLinkAttributes->GetFlag(BMDDeckLinkSupportsDuplexModeConfiguration, &supportsDuplexModeConfiguration);
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:35:39: note: suggested alternative: ‘supportsDuplexModeConfiguration’
  result = deckLinkAttributes->GetFlag(BMDDeckLinkSupportsDuplexModeConfiguration, &supportsDuplexModeConfiguration);
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                       supportsDuplexModeConfiguration
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:27:35: warning: unused variable ‘deckLinkAttributesReleaser’ [-Wunused-variable]
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp: In static member function ‘static IDeckLink* SubDeviceUtil::QueryParentDevice(IDeckLink*)’:
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:49:2: error: ‘IDeckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:49:2: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:49:23: error: ‘deckLinkAttributes’ was not declared in this scope
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:49:23: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  IDeckLinkAttributes* deckLinkAttributes = nullptr;
                       ^~~~~~~~~~~~~~~~~~
                       BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:50:33: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class RefReleaser’
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                 ^
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:50:33: note:   expected a type, got ‘IDeckLinkAttributes’
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:53:36: error: ‘IID_IDeckLinkAttributes’ was not declared in this scope
  result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                    ^~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:53:36: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                    ^~~~~~~~~~~~~~~~~~~~~~~
                                    BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:58:38: error: ‘BMDDeckLinkPairedDevicePersistentID’ was not declared in this scope
  result = deckLinkAttributes->GetInt(BMDDeckLinkPairedDevicePersistentID, &pairedDeviceId);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/decklink-debugger.dir/build.make:206: recipe for target 'CMakeFiles/decklink-debugger.dir/DeviceProber.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/DeviceProber.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:58:38: note: suggested alternative: ‘BMDDeckLinkPersistentID’
  result = deckLinkAttributes->GetInt(BMDDeckLinkPairedDevicePersistentID, &pairedDeviceId);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      BMDDeckLinkPersistentID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:50:35: warning: unused variable ‘deckLinkAttributesReleaser’ [-Wunused-variable]
  RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp: In static member function ‘static IDeckLink* SubDeviceUtil::findDeckLinkInterfaceByPersistentId(int64_t)’:
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:98:3: error: ‘IDeckLinkAttributes’ was not declared in this scope
   IDeckLinkAttributes* deckLinkAttributes = nullptr;
   ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:98:3: note: suggested alternative: ‘BMDDeckLinkAttributeID’
   IDeckLinkAttributes* deckLinkAttributes = nullptr;
   ^~~~~~~~~~~~~~~~~~~
   BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:98:24: error: ‘deckLinkAttributes’ was not declared in this scope
   IDeckLinkAttributes* deckLinkAttributes = nullptr;
                        ^~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:98:24: note: suggested alternative: ‘BMDDeckLinkAttributeID’
   IDeckLinkAttributes* deckLinkAttributes = nullptr;
                        ^~~~~~~~~~~~~~~~~~
                        BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:99:34: error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> class RefReleaser’
   RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                  ^
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:99:34: note:   expected a type, got ‘IDeckLinkAttributes’
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:102:37: error: ‘IID_IDeckLinkAttributes’ was not declared in this scope
   result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:102:37: note: suggested alternative: ‘BMDDeckLinkAttributeID’
   result = deckLink->QueryInterface(IID_IDeckLinkAttributes, (void **)&deckLinkAttributes);
                                     ^~~~~~~~~~~~~~~~~~~~~~~
                                     BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/SubDeviceUtil.cpp:99:36: warning: unused variable ‘deckLinkAttributesReleaser’ [-Wunused-variable]
   RefReleaser<IDeckLinkAttributes> deckLinkAttributesReleaser(&deckLinkAttributes);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:12:0:
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:37:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*    queryAttributesInterface();
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:63:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*             m_deckLinkAttributes;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: error: ‘IDeckLinkAttributes’ was not declared in this scope
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
              BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:33: error: template argument 1 is invalid
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
                                 ^
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp: In constructor ‘CaptureDelegate::CaptureDelegate(IDeckLink*, IDeckLinkInput*)’:
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:29:2: error: class ‘CaptureDelegate’ does not have any field named ‘m_deckLinkAttributes’
  m_deckLinkAttributes(nullptr),
  ^~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:30:32: error: ‘m_deckLinkAttributes’ was not declared in this scope
  m_deckLinkAttributesReleaser(&m_deckLinkAttributes),
                                ^~~~~~~~~~~~~~~~~~~~
CMakeFiles/decklink-debugger.dir/build.make:158: recipe for target 'CMakeFiles/decklink-debugger.dir/SubDeviceUtil.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/SubDeviceUtil.cpp.o] Error 1
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:30:32: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  m_deckLinkAttributesReleaser(&m_deckLinkAttributes),
                                ^~~~~~~~~~~~~~~~~~~~
                                BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:46:25: error: ‘queryAttributesInterface’ was not declared in this scope
  m_deckLinkAttributes = queryAttributesInterface();
                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/dan/Projects/decklink-debugger/DeviceProber.h:8:0,
                 from /home/dan/Projects/decklink-debugger/decklink-debugger.cpp:14:
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:37:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*    queryAttributesInterface();
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:46:25: note: suggested alternative: ‘queryConfigurationInterface’
  m_deckLinkAttributes = queryAttributesInterface();
                         ^~~~~~~~~~~~~~~~~~~~~~~~
                         queryConfigurationInterface
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:63:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*             m_deckLinkAttributes;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: error: ‘IDeckLinkAttributes’ was not declared in this scope
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp: At global scope:
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:63:1: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
 IDeckLinkAttributes* CaptureDelegate::queryAttributesInterface()
 ^~~~~~~~~~~~~~~~~~~
 BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp: In member function ‘int64_t CaptureDelegate::queryInputConnections()’:
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:83:11: error: ‘m_deckLinkAttributes’ was not declared in this scope
  result = m_deckLinkAttributes->GetInt(BMDDeckLinkVideoInputConnections, &connections);
           ^~~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
              BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:33: error: template argument 1 is invalid
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
                                 ^
CMakeFiles/decklink-debugger.dir/build.make:230: recipe for target 'CMakeFiles/decklink-debugger.dir/HttpServer.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/HttpServer.cpp.o] Error 1
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:83:11: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  result = m_deckLinkAttributes->GetInt(BMDDeckLinkVideoInputConnections, &connections);
           ^~~~~~~~~~~~~~~~~~~~
           BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp: In member function ‘void CaptureDelegate::setDuplexToHalfDuplexMode(IDeckLink*)’:
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:118:55: error: ‘bmdDeckLinkConfigDuplexMode’ was not declared in this scope
  result = m_deckLinkParentDeviceConfiguration->SetInt(bmdDeckLinkConfigDuplexMode, bmdDuplexModeHalf);
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/dan/Projects/decklink-debugger/DeviceProber.h:8:0,
                 from /home/dan/Projects/decklink-debugger/ImageEncoder.h:5,
                 from /home/dan/Projects/decklink-debugger/ImageEncoder.cpp:1:
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:37:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*    queryAttributesInterface();
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:118:55: note: suggested alternative: ‘bmdDeckLinkConfigCaptureGroup’
  result = m_deckLinkParentDeviceConfiguration->SetInt(bmdDeckLinkConfigDuplexMode, bmdDuplexModeHalf);
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                       bmdDeckLinkConfigCaptureGroup
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:118:84: error: ‘bmdDuplexModeHalf’ was not declared in this scope
  result = m_deckLinkParentDeviceConfiguration->SetInt(bmdDeckLinkConfigDuplexMode, bmdDuplexModeHalf);
                                                                                    ^~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:63:2: error: ‘IDeckLinkAttributes’ does not name a type; did you mean ‘BMDDeckLinkAttributeID’?
  IDeckLinkAttributes*             m_deckLinkAttributes;
  ^~~~~~~~~~~~~~~~~~~
  BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: error: ‘IDeckLinkAttributes’ was not declared in this scope
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
/home/dan/Projects/decklink-debugger/CaptureDelegate.cpp:118:84: note: suggested alternative: ‘bmdDuplexHalf’
  result = m_deckLinkParentDeviceConfiguration->SetInt(bmdDeckLinkConfigDuplexMode, bmdDuplexModeHalf);
                                                                                    ^~~~~~~~~~~~~~~~~
                                                                                    bmdDuplexHalf
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:14: note: suggested alternative: ‘BMDDeckLinkAttributeID’
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
              ^~~~~~~~~~~~~~~~~~~
              BMDDeckLinkAttributeID
/home/dan/Projects/decklink-debugger/CaptureDelegate.h:64:33: error: template argument 1 is invalid
  RefReleaser<IDeckLinkAttributes> m_deckLinkAttributesReleaser;
                                 ^
CMakeFiles/decklink-debugger.dir/build.make:182: recipe for target 'CMakeFiles/decklink-debugger.dir/CaptureDelegate.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/CaptureDelegate.cpp.o] Error 1
CMakeFiles/decklink-debugger.dir/build.make:278: recipe for target 'CMakeFiles/decklink-debugger.dir/ImageEncoder.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/ImageEncoder.cpp.o] Error 1
CMakeFiles/decklink-debugger.dir/build.make:62: recipe for target 'CMakeFiles/decklink-debugger.dir/decklink-debugger.cpp.o' failed
make[2]: *** [CMakeFiles/decklink-debugger.dir/decklink-debugger.cpp.o] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/decklink-debugger.dir/all' failed
make[1]: *** [CMakeFiles/decklink-debugger.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I tried pulling both from GitHub and http://c3voc.de/git/decklink-debugger.git as in the README but they look the same

Also is the pre build deb file available any where?

MaZderMind commented 5 years ago

It should probably be cmake .. -DBLACKMAGIC_SDK_DIR=~/Blackmagic\ DeckLink\ SDK\ 11.0/Linux/include/ – your command was missing the include/.

I fixed the README which was wrong in this regard.

This GitHub Repo is actually just a mirror of http://c3voc.de/git/decklink-debugger.git, so they are identical.

Our Deb-Repo can be found here, but this is not a public service and it might or might not work for you. Our packages are currently built for Debian Stretch but this might also change at any time.

danielbodart commented 5 years ago

Brilliant thanks very much

danielbodart commented 5 years ago

Actually I think your docs were correct before (the path shouldn't include the 'include" bit. I think the problem is I'm using the latest SDK (11) and I think there must have been some breaking changes.

The deb files installs correctly but it never detects a signal (even though I can see one in OBS Studio and Media Express). I imagine this is because I'm using newer drivers (v11) as well (I have a DeckLink Recorder 4k)

MaZderMind commented 5 years ago

@danielbodart I checked the 'include' bit with SDK 11.0, 10.11.4 and 10.9.5 and it is required for all of them. At c3voc we install the SDK as a .deb-Package we build ourselves, so the SDK is located in /usr/lib/decklink-sdk and we actually never use the -DBLACKMAGIC_SDK_DIR=… mechanics ourselves.

Regarding your problem with the DeckLink Recorder 4k I'd suggest to open another issue. Not all cards that can input Signals can also Auto-Detect the format, but we should really track that separately.