Компиляция проблем с Mex и IT ++

У меня проблемы с компиляцией библиотеки It ++. Я установил его правильно и проверил на простом примере без mex.

mex it_mex_fkmigration.cpp -litpp

it_mex_fkmigration.cpp:1:25: error: itpp/itcomm.h: No such file or directory
it_mex_fkmigration.cpp:2:26: error: itpp/itmex.h: No such file or directory
it_mex_fkmigration.cpp:4: error: expected namespace-name before ';' token
it_mex_fkmigration.cpp:4: error: '<type error>' is not a namespace
it_mex_fkmigration.cpp:6: error: 'mxArray' has not been declared
it_mex_fkmigration.cpp:6: error: expected ',' or '...' before '*' token
it_mex_fkmigration.cpp:6: error: ISO C++ forbids declaration of 'mxArray' with no type
it_mex_fkmigration.cpp: In function 'void mexFunction(int, int**, int, int)':
it_mex_fkmigration.cpp:9: error: 'mexErrMsgTxt' was not declared in this scope
it_mex_fkmigration.cpp:10: error: 'mexErrMsgTxt' was not declared in this scope
it_mex_fkmigration.cpp:13: error: 'bvec' was not declared in this scope
it_mex_fkmigration.cpp:13: error: expected `;' before 'input_bits'
it_mex_fkmigration.cpp:16: error: 'cvec' was not declared in this scope
it_mex_fkmigration.cpp:16: error: expected `;' before 'output_symbols'
it_mex_fkmigration.cpp:17: error: 'QPSK' was not declared in this scope
it_mex_fkmigration.cpp:17: error: expected `;' before 'qpsk'
it_mex_fkmigration.cpp:19: error: 'output_symbols' was not declared in this scope
it_mex_fkmigration.cpp:19: error: 'qpsk' was not declared in this scope
it_mex_fkmigration.cpp:19: error: 'input_bits' was not declared in this scope
it_mex_fkmigration.cpp:23: error: 'mxCOMPLEX' was not declared in this scope
it_mex_fkmigration.cpp:23: error: 'mxCreateDoubleMatrix' was not declared in this scope
it_mex_fkmigration.cpp:26: error: 'cvec2mxArray' was not declared in this scope

0

Решение

Вы должны сказать mex где находится библиотека It ++. Использовать -I возможность указать пути включения; а также -L возможность указать пути поиска библиотеки.

mex it_mex_fkmigration.cpp -litpp -Ipath/to/it++/library -Lpath/to/libitpp

У меня были проблемы в прошлом с -L вариант и пришлось обойти его, указав весь путь к библиотеке с помощью -l вариант.

mex it_mex_fkmigration.cpp -lpath/to/libitpp/libitpp.a -Ipath/to/it++/library

Другие параметры, которые можно передать mex перечислены в документация (под Mex скрипт переключатели раздел).

Также ошибки по поводу mxArray, mexErrMsgTxt и т.д. указывают, что вы не включили mex.h в it_mex_fkmigration.cpp

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]