Взаимодействие Matlab, Eclipse CDT и C ++: специфическая ошибка с mxCreateNumericMatrix - PullRequest
0 голосов
/ 11 декабря 2011

Как указано выше, я использую движок Matlab в сочетании с Eclipse CDT и C ++. При компиляции моего кода все работает нормально. Eclipse просто продолжает сообщать мне об ошибке с подсказкой об ошибке

Invalid arguments '
Candidates are:
mxArray_tag * mxCreateNumericMatrix_730(?, ?, enum {matrix.h:6580}, enum {matrix.h:7366})
'

Как я уже сказал - все компилируется просто отлично. Кто-нибудь сталкивался с подобными проблемами?


РЕДАКТИРОВАТЬ: плохая строка кода идет:

mxArray *result = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL);

, что приводит (буквально) к ошибке со следующей подсказкой:

enter image description here

Ответы [ 2 ]

0 голосов
/ 12 декабря 2011

После некоторых исследований проблема, по-видимому, заключается в индексаторе CODAN , используемом Eclipse CDT. Пересмотр индекса вручную с помощью Eclipse > Preferences > C/C++ > Indexer и обеспечение правильной активации индексатора (как это было в моем случае), а затем нажатие apply запускает процесс перестроения индекса. После того, как это было сделано (что заняло около 10 секунд), проблема исчезла.


@ Nzbuu: спасибо за вашу идею - на самом деле я тоже ее попробовал - явно приведенный к mwSize, который ничего не изменил. Я проверил также перечисления, которые были совершенно в порядке. Проблема заключалась в том, что, как указано выше, инд

0 голосов
/ 11 декабря 2011

выглядит хорошо для меня.Вы можете попробовать привести 1 к mwSize.

...