How to create a c++struct which is defined in extern c++ lib in MATLAB?
I want to call a c++ method in matlab like:
loadlibrary(‘ASICamera2’);
p = libpointer(‘string’);
gpsData = struct();
x = calllib(‘ASICamera2′,’ASIGetDataAfterExpGPS’, 0, p, 256*256, gpsData);
In ‘ASICamera2.h’,method ‘ASIGetDataAfterExpGPS’ is defined as follow. Obviously, the above matlab code dosen’t work because p and gpsData are not correct data type.
int ASIGetDataAfterExpGPS(int iCameraID, unsigned char* pBuffer, long lBuffSize, ASI_GPS_DATA *gpsData);
typedef struct _ASI_GPS_DATA {
ASI_DATE_TIME Datetime;
double Latitude;
double Longitude;
char Unused[64];
} ASI_GPS_DATA;
typedef struct _ASI_DATE_TIME{
int Year;
char Unused[64];
} ASI_DATE_TIME;
Now I have two questions:
How to create char* argument in matlab?
How to create a struct likes ASI_GPS_DATA * in matlab?
I tried libstruct function in matlab but failed, if anyone can help me?I want to call a c++ method in matlab like:
loadlibrary(‘ASICamera2’);
p = libpointer(‘string’);
gpsData = struct();
x = calllib(‘ASICamera2′,’ASIGetDataAfterExpGPS’, 0, p, 256*256, gpsData);
In ‘ASICamera2.h’,method ‘ASIGetDataAfterExpGPS’ is defined as follow. Obviously, the above matlab code dosen’t work because p and gpsData are not correct data type.
int ASIGetDataAfterExpGPS(int iCameraID, unsigned char* pBuffer, long lBuffSize, ASI_GPS_DATA *gpsData);
typedef struct _ASI_GPS_DATA {
ASI_DATE_TIME Datetime;
double Latitude;
double Longitude;
char Unused[64];
} ASI_GPS_DATA;
typedef struct _ASI_DATE_TIME{
int Year;
char Unused[64];
} ASI_DATE_TIME;
Now I have two questions:
How to create char* argument in matlab?
How to create a struct likes ASI_GPS_DATA * in matlab?
I tried libstruct function in matlab but failed, if anyone can help me? I want to call a c++ method in matlab like:
loadlibrary(‘ASICamera2’);
p = libpointer(‘string’);
gpsData = struct();
x = calllib(‘ASICamera2′,’ASIGetDataAfterExpGPS’, 0, p, 256*256, gpsData);
In ‘ASICamera2.h’,method ‘ASIGetDataAfterExpGPS’ is defined as follow. Obviously, the above matlab code dosen’t work because p and gpsData are not correct data type.
int ASIGetDataAfterExpGPS(int iCameraID, unsigned char* pBuffer, long lBuffSize, ASI_GPS_DATA *gpsData);
typedef struct _ASI_GPS_DATA {
ASI_DATE_TIME Datetime;
double Latitude;
double Longitude;
char Unused[64];
} ASI_GPS_DATA;
typedef struct _ASI_DATE_TIME{
int Year;
char Unused[64];
} ASI_DATE_TIME;
Now I have two questions:
How to create char* argument in matlab?
How to create a struct likes ASI_GPS_DATA * in matlab?
I tried libstruct function in matlab but failed, if anyone can help me? calllib, c++, struct, pointer MATLAB Answers — New Questions