Семантические проблемы при связывании проекта Xcode с MathGL

Мне нужно использовать MathGL ( http://mathgl.sourceforge.net/) для построения графиков в моем проекте Objective-C, но я не могу скомпилировать его из-за семантических проблем в файлах datac_cf.h и canvas_cf.h, таких как:

/usr/local/include/mgl2/datac_cf.h:80:17: 'mgl_datac_get_value' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

/usr/local/include/mgl2/datac_cf.h:206:17: 'mgl_datac_linear' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

/usr/local/include/mgl2/canvas_cf.h:494:17: 'mgl_cexpr_eval' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

каждый раз в строке "dual MGL_EXPORT ..." их 7

Я успешно скомпилировал MathGL с помощью cmake и настроил путь поиска заголовка проекта Xcode в "/ usr / local / include" и путь поиска библиотеки в "/usr/local/lib", я также перетащил файл libmgl.7.0.0.dylib в мой проект..

Как я могу избавиться от этих семантических проблем, пожалуйста?

1 ответ

Я использую FreeBSD и у меня похожая проблема. Самый простой способ избавиться от этих предупреждений - это скомпилировать зависимую программу с -Wno-return-type или, более конкретно, с -Wno-return-type-c-linkage флаг, который подавляет эти предупреждения.

Кроме этого, вы можете исправлять заголовки.

Другие вопросы по тегам