首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有匹配的函数用于调用‘Php::Extension::add()

没有匹配的函数用于调用‘Php::Extension::add()
EN

Stack Overflow用户
提问于 2016-12-14 17:32:01
回答 1查看 112关注 0票数 0

我使用PHP-CPP来创建调用c++函数的PHP扩展。我已经解决了许多错误后,集成我的cpp到示例代码的cpp的PHP-CPP。但是我被以下错误所困扰,

代码语言:javascript
复制
 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文件如下

代码语言:javascript
复制
/*
* 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;
    }
}

请向我推荐一些解决上述错误的方法。

EN

回答 1

Stack Overflow用户

发布于 2017-05-23 16:53:21

试试这个extension.add("Demo_Capture",Demo_Capture);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41139092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档