将Xcode项目与MathGL链接时的语义问题

时间:2013-10-05 16:07:32

标签: c++ xcode mathgl

我需要使用MathGL(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

每次在“双MGL_EXPORT ......”行

中有7个

我使用cmake成功编译了MathGL,并将Xcode项目头搜索路径配置为“/ usr / local / include”,将库搜索路径设置为“/ usr / local / lib”,我还拖放了libmgl.7.0.0 .dylib到我的项目..

我怎样才能摆脱这些语义问题?

1 个答案:

答案 0 :(得分:1)

我使用的是FreeBSD,我遇到了类似的问题。摆脱这些警告的最简单方法是使用-Wno-return-type或更具体地使用-Wno-return-type-c-linkage标志编译您的依赖程序,这会抑制这些警告。

除此之外,你可以修补标题。