我有一个应用程序是在Qt Creator中的Ubuntu桌面系统上编写的,我想在另一个系统(Ubuntu服务器)上编译它。此服务器没有GUI,因此必须通过CLI完成编译。发出make命令后,它开始编译,但抛出编译错误:
错误:'fromStdString'不是'QByteArray'的成员 QByteArray myData = QByteArray :: fromStdString(data);
完全相同的代码只能在另一个系统上找到并编译好。我该怎么做才能解决这个问题?是否在系统上安装了库或其他问题?
答案 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的回答