呼叫'php :: Extension :: add()没有匹配函数
no matching function for call to ‘Php::Extension::add()
我正在使用PHP-CPP来创建PHP扩展名来调用C 功能。在将CPP集成到PHP-CPP的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, %dn", 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, %dn", 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;
}
}
请建议我一些土壤解决上述错误。
尝试这个Extension.Add(" demo_capture",demo_capture);
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么使用 "this" 指针调用派生成员函数?
- 将对象数组的引用传递给函数
- 函数调用中参数的顺序重要吗
- 函数向量_指针有不同的原型,我可以构建一个吗
- 函数 C::add() 中不允许将'C *'隐式转换为'A *'
- 收到错误:C3867 '<int>Template_class::add':非标准语法;将指针指向带有模板的函数时
- 呼叫'php :: Extension :: add()没有匹配函数
- 当列表中有两个以上的项目时,链表的函数 add 会崩溃
- 为什么我的 add 函数不将所有数字相加?
- 无法从我的 Add 函数之外的链表头部获取数据