繁体   English   中英

QT + CImg无法在OSX 10.9上构建

[英]QT + CImg will not build on OSX 10.9

我正在接管一个需要与QT Creator和CImg合作的项目,但是该项目无法在我的机器上构建。

/Users/vikkosmi/Qt/5.2.0/clang_64/lib/QtCore.framework/Headers/qvariant.h:132: error: expected '}'
    Bool = QMetaType::Bool,
    ^

在我构建时,此错误以及许多类似错误不断出现。 它来自Qt Core。

使用cimg从Windows平台移至osx时,是否需要重写某些内容? 据我所知,代码应该是可移植的。

我试图重新安装库,安装XQuarts,添加库并包含项目文件的路径,但是仍然存在相同的问题:(预先感谢您的帮助!

你在建什么 如果要构建Qt,则需要对它进行一些本地修改,从新资源开始。

如果要构建一些使用Qt的代码,那么问题出在该代码中,而不是Qt中。 这个问题的味道是,已经定义了一个Bool宏来干扰QVariant的代码。

发生这种情况的文件不是qvariant.h 这是您的一个.cpp文件-查看错误消息,它们将包含“在编译yourfile.cpp时”之类的内容。 在该文件中,您需要将#include <QVariant>作为第一行。 这应该可以暂时解决问题。

您应该在代码中搜索Bool并修复全局名称空间污染。 您的代码已损坏,我认为对此毫无疑问。

X11库(CImg默认使用)定义了Bool 在使用Qt时,您可能不想使用CImg的显示功能,因此建议您在编译时通过定义宏cimg_display=0禁用它。 CImg不会尝试包含X11标头,它可能会解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM