Я пытаюсь создать библиотеку c ++ и перенести ее в javascript с помощью emscripten. Я хотел бы получить доступ к функциям c ++ в javascript с помощью webidl.
это мой заголовочный файл
#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-файлом? Должно ли имя класса быть маленькими буквами или что-то в этом роде? Есть ли какой-то точный тип данных для std :: string в webidl otherчем DOMstring?
Я получаю ошибку
WebIDL.WebIDLError: error: invalid syntax, <unknown> line 6:22
void add(DOMString, DOMString);
^