使用Bandicam图书馆

问题描述 投票:1回答:1

我想使用Bandicam Screen Recorder SDK,并按照他们网站上显示的所有步骤进行操作。你可以在这里找到这个库 https:/www.bandicam.comscreen-recorder-sdk 以及这里的使用说明https:/www.bandicam.comcompanysdkbandi_capture_libraryhelpSection2.2.html

我在我的代码中加入了bandicap.h,并希望用命令行编译,但-lbdcap32和-lbandicap都不行。无论是-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();

编译错误图像

如果你知道我应该做什么,这将是非常有用的,或者如果我做错了什么,我没有注意到也是欢迎的! 非常感谢

c++ dll compiler-errors scope screen-recording
1个回答
1
投票

也许你做错了什么

© www.soinside.com 2019 - 2024. All rights reserved.