Я хочу использовать SDK Bandicam Screen Recorder и выполнил все шаги, указанные на их сайте. Здесь вы можете найти библиотеку https://www.bandicam.com/screen-recorder-sdk/ и инструкции по ее использованию здесь https://www.bandicam.com/company/sdk/bandi_capture_library/help/Section2.2.html
Я включил bandicap.h в свой код и хочу скомпилировать используя командную строку. Ни -lbdcap32, ни -lbandicap не работают. Некоторые объекты и методы явно не объявлены в этой области и не распознаются. Я не могу найти другой способ компиляции с помощью bdcap32.dll, и я не знаю, нужно ли использовать другое имя в cmd.
Вот мой код:
record. cpp
#include "record.h"
#include "bandicap.h"
CBandiCaptureLibrary captureLib;
int main(){
HANDLE keyIn, KeyOut;
INPUT_RECORD recIn;
DWORD numRead;
ReadConsoleInput(keyIn, &recIn, 1, &numRead);
switch(recIn.EventType){
case KEY_EVENT:
if(recIn.Event.KeyEvent.uChar.AsciiChar == 'r'){
toggleCapture();
}
}
return 0;
}
void toggleCapture(){
IDirect3DDevice9* device = GetD3DDevice();
if(!captureLib.IsCapturing()){
if(!captureLib.IsCreated()){
if(FAILED(captureLib.Create(BANDICAP_RELEASE_DLL_FILE_NAME))){
ASSERT(0);
}
if(FAILED(captureLib.Verify("BCL-SDK-TRIAL", "f5b0b287"))){
ASSERT(0);
}
}else{
BCAP_CONFIG cfg;
BCapConfigPreset(&cfg, BCAP_PRESET_DEFAULT);
captureLib.CheckConfig(&cfg);
captureLib.SetConfig(&cfg);
TCHAR pathName[50];
captureLib.MakePathnameByDate(_T("record\\"), _T("Capture"), _T("avi"), pathName, 50);
HRESULT hr = captureLib.Start(pathName, NULL, BCAP_MODE_D3D9_SCALE, (LONG_PTR)device);
if(FAILED(hr)){
ASSERT(0);
}
}
}else{
captureLib.Stop();
}
}
record.h
void toggleCapture();
Образ с ошибками компиляции
Если вы знаете, что мне делать, это было бы действительно полезно, или если Я делаю что-то не так, чего не заметил, тоже приветствуется! Большое спасибо!