运行后,我的应用程序崩溃了。在调试模式中,在mManager = new QNetworkAccessManager(this);
行显示窗口,通知有关分段故障:
此外,在应用程序输出中,我有许多字符串:
找不到“QNetworkAccessManager”的虚拟表的链接器符号。 找到的值' QCoreApplication :: qt_static_metacall(QObject *, QMetaObject :: Call,int,void **)'代替
在下面提供我的代码。
myclass.h
class MyClass: public QObject
{
Q_OBJECT
public:
explicit MyClass(QObject *parent = 0);
public slots:
void parseJSON(QNetworkReply *response);
private:
QNetworkAccessManager *mManager;
};
myclass.cpp
MyClass::MyClass(QObject *parent) :
QObject(parent)
,mManager{nullptr}
{
mManager = new QNetworkAccessManager(this);
connect(mManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(parseJSON(QNetworkReply*)));
std::cout << "Getting object from server..." << std::endl;
mManager->get(QNetworkRequest(QUrl("http://some.url.com/cpp.json")));
}
void MyClass::parseJSON(QNetworkReply* response)
{
}
的main.cpp
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyClass proc;
return a.exec();
}
更新(1):此问题发生在~10次构建之后,之前没有发生。
UPDATE(2):在清理和重建项目后,一切正常。我不明白,问题是什么。