c ++ — нет подходящей функции для вызова ‘Php :: Extension :: add ()

Я использую PHP-CPP для создания расширения PHP для вызова функции C ++.
Я исправил много ошибок после интеграции моего cpp в пример кода cpp с помощью PHP-CPP. Но я застрял в следующей ошибке,

 CapPicture.cpp: In function ‘void* get_module()’:
CapPicture.cpp:72:45: error: no matching function for call to ‘Php::Extension::add(const char [13])’
extension.add<Demo_Capture>("Demo_Capture");

Мой файл Cpp, как показано ниже

/*
* Copyright(C) 2010,Hikvision Digital Technology Co., Ltd
*
*/

#include <phpcpp.h>
#include <iostream>
#include <stdlib.h>

#include "public.h"#include "CapPicture.h"#include <stdio.h>
/*******************************************************************
Function:   Demo_Capture
Description:   Capture picture.
Parameter:   (IN)   none
Return:   0--success£¬-1--fail.
**********************************************************************/
int Demo_Capture()
{
// Php::out << "test" << std::endl;
//return 11;
NET_DVR_Init();
long lUserID;
//login
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
char ipaddress[] = "172.4.1.162";
WORD port = 8000 ;
char uname[] = "admin" ;
char password[] = "121212" ;
//NET_DVR_Login_V30(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo);
lUserID = NET_DVR_Login_V30(ipaddress, port, uname, password, &struDeviceInfo);
if (lUserID < 0)
{
printf("pyd1---Login error, %d\n", NET_DVR_GetLastError());
return HPR_ERROR;
}NET_DVR_JPEGPARA strPicPara = {0};
strPicPara.wPicQuality = 2;
strPicPara.wPicSize = 0;
int iRet;
//iRet = NET_DVR_CaptureJPEGPicture(lUserID, struDeviceInfo.    , &strPicPara, "./ssss.jpeg");
char path[] = "./ssss.jpeg" ;
iRet = NET_DVR_CaptureJPEGPicture(lUserID, struDeviceInfo.byStartChan, &strPicPara,path);
if (!iRet)
{
printf("pyd1---NET_DVR_CaptureJPEGPicture error, %d\n", NET_DVR_GetLastError());
return HPR_ERROR;
}

//logout
NET_DVR_Logout_V30(lUserID);
NET_DVR_Cleanup();

return HPR_OK;

}

extern "C" {
PHPCPP_EXPORT void *get_module() {
static Php::Extension extension("my_extension1", "1.0");
// extension.add("Demo_Capture",(int)Demo_Capture);
extension.add<Demo_Capture>("Demo_Capture");
return extension;
}
}

Пожалуйста, предложите мне почву для устранения вышеуказанной ошибки.

0

Решение

попробуй это
extension.add («Demo_Capture», Demo_Capture);

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]