找不到QByteArray成员

时间:2016-03-07 16:41:23

标签: c++ qt

我有一个应用程序是在Qt Creator中的Ubuntu桌面系统上编写的,我想在另一个系统(Ubuntu服务器)上编译它。此服务器没有GUI,因此必须通过CLI完成编译。发出make命令后,它开始编译,但抛出编译错误:

  

错误:'fromStdString'不是'QByteArray'的成员        QByteArray myData = QByteArray :: fromStdString(data);

完全相同的代码只能在另一个系统上找到并编译好。我该怎么做才能解决这个问题?是否在系统上安装了库或其他问题?

2 个答案:

答案 0 :(得分:5)

我认为问题在于这一点,引用http://doc.qt.io/qt-5/qbytearray.html#fromStdString

  

该功能在Qt 5.4中引入。

也就是说,如果您使用Qt5,在Qt4中确实没有这样的成员函数。

答案 1 :(得分:1)

在Qt4中,QString :: fromStdString()要求使用STL支持编译Qt,因此这可能是您的问题。

来自Qt Docs

  

此构造函数仅在Qt配置为STL时可用   兼容性。

但是,如果您正在使用QByteArray,请参阅@ iksemyonov的回答