我正在尝试制作一个c ++库并将其使用emscripten移植到javascript中。我想使用webidl访问javascript中的c ++函数。
这是我的头文件
#ifndef DATE_H
#define DATE_H
#include<iostream>
#include <emscripten/bind.h>
#include<ctime>
#include<string.h>
class Date
{
public:
void add(std::string,std::string);
void subtract(std::string,std::string);
void equalTo(std::string,std::string);
void isValidDate(std::string);
void comparer(std::string,std::string);
void random(void);
void random(std::string,int);
void random(int);
void random(int, int);
//and some other functions that i dont want to be accessible
};
#endif
这是我的idl文件
interface date {
void date();
void add(DOMString, DOMString);
void subtract(DOMString, DOMString);
void equalTo(DOMString, DOMString);
void isValidDate(DOMString);
void comparer(DOMString, DOMString);
void GetAge(DOMString);
void random(void);
void random(DOMString, long);
void random(long);
void random(long, long);
}
我的idl文件有问题吗?类名应该是小写字母还是什么?在webidl中是否有DOMstring以外的std :: string的确切数据类型?
我得到的错误是
WebIDL.WebIDLError: error: invalid syntax, <unknown> line 6:22
void add(DOMString, DOMString);
^