Я пытаюсь скомпилировать файл cpp с помощью mex (changeanalysis.cpp). У меня есть Matlab R2012a, Xcode 4.6 на MAC OS X 10.7. . В файле changeanalysis.cpp, aef_global_dllexport.h входит какая-то часть aef_global_dllexport.h выглядит следующим образом:Ошибка: ожидаемый конструктор, деструктор или преобразование типа перед '(' токен?
////////////////////////
// DLL EXPORT FUNCTIONS
////////////////////////
#define DLLEXPORT _declspec(dllexport)
DLLEXPORT double maha_dist_3D_ex( double x,
double y,
double z,
double* mean,
double** icovm);
DLLEXPORT int matrix_inv_ND_ex( double** matND,
double& det,
int Dim);
DLLEXPORT int matrix_copy3x3_ex( double** x,
double** y);
.
.
.
Когда я компилирую файл changeanalysis.cpp, я получаю следующее сообщение об ошибке в командной строке:
MEX -I "/ Users/Марци/Документы/MATLAB" changeanalysis.cpp
В файле включены из changeanalysis.cpp: 58:
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:7: ошибка: ожидается, конструктор, деструктор, или тип преобразования перед '(' лексем
/Пользователи/Маре/Документы/MATLAB/aef_global_dllexport.h: 13: ошибка: ожидаются, конструктор, деструктор, или преобразование типов до того '(' лексема
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:17: ошибка: ожидаемый конструктор, деструктор или преобразование типов до '(' токен
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h: 20: ошибка: ожидаемый конструктор, деструктор или преобразование типа перед '(' токен
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:22: ошибка: ожидаемый конструктор, деструктор или преобразование типов до '(' маркер
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:24: ошибка: ожидается, конструктор, деструктор, или преобразование типов до того '(' маркера
/Пользователи/Маре/Документы/MATLAB/aef_global_dllexport. h: 29: ошибка: ожидаемый конструктор, деструктор или преобразование типа до '(' токен
/Пользователи/marzi/Documents/MATLAB /aef_global_dllexport.h:31: ошибка: ожидаемый конструктор, деструктор или преобразование типа перед '(' токен
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:50: ошибка: ожидаемый конструктор, деструктор или тип преобразование до того '(' лексема
/Users/marzi/Documents/MATLAB/aef_global_dllexport.h:75: ошибка: ожидается, конструктор, деструктор, или преобразование типов до того '(' лексема /Пользователи/Маре/Документы/MATLAB/aef_global_dllexport.h: 100: ошибка: ожидаемый конструктор, деструктор или преобразование типа перед '(' токен
mex: скомпилировать 'changeanalysis.cpp "' не удалось.
Ошибка при использовании mex (строка 206) Не удалось выполнить успешно.
Кто-нибудь знает, как исправить это или в чем причина этой ошибки?
Спасибо.
Файл 'changeanalysis.cpp' - ваш файл? Включаете ли какие-либо файлы заголовков пропущенные точки с запятой в конце 'struct' или' class'? Или пропустите закрывающуюся скобку или фигурные скобки? –
Этот файл является частью проекта сегментации легких. Будучи новым участником этого проекта, я должен скомпилировать файлы, чтобы генерировать Matlab mex plugin для сегментации легких. В файле changeanalysis.cpp включен только заголовочный файл aef_global_dllexport.h. – margol
Ошибки находятся в этих строках файла заголовка (aef_global_dllexport.h), где в качестве выхода функции есть DLLEXPORT. Это связано с тем, что я работаю над Mac, и у меня нет Visual Studio? – margol