-1

我现在正在和 QT 战斗。我在我的 APIinmoov.h 中添加了一个方法,并将其填充到 API.cpp 中。那行得通,但是当我在另一个包含它的类中调用它时

#include "APIinmoov.h"

它告诉我:

 tiempomanual.obj:-1: error: LNK2019: unresolved external symbol "public: void     __thiscall Inmoov::saveTray(class QString,class QString,class QString)" (?    saveTray@Inmoov@@QAEXVQString@@00@Z) referenced in function "public: void __thiscall     TiempoManual::total(void)" (?total@TiempoManual@@QAEXXZ)

使用该功能后,一切正常,但是当我创建它时,出现了 LNK2019

apiInmoov.h 中的方法

  void saveTray(QString, QString, QString);

apiInmoov.cpp 中的方法

   void saveTray(QString destFile, QString orderFile, QString tiempo)
  {
QFile desFil(destFile);
desFil.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream dets(&desFil);

QFile orFil(orderFile);
orFil.open(QIODevice::ReadOnly);
QTextStream orts(&orFil);


QString todo=orts.readAll();
dets<<todo;
dets<<";"<<tiempo;

}

以及主函数中的调用:

inmT->saveTray(fich, fichO,tiempoQ);

在那之后,我调用了这个其他函数并且没有给我一个错误:

inmT->saveAction(fich,tiempoQ,pPosT,pArticT);

我尝试运行 QMake,重建项目,删除包含已编译项目的文件夹并再次创建它,但什么也没有。

任何人都知道另一种解决方案或问题?谢谢你的时间。

4

1 回答 1

2

好的,我发现了问题。在 apiimoov.cpp 中,当我放方法的头部时,我忘记了 Inmoov:: ,所以方法将是

void Inmoov:: saveTray(...)

代替

void saveTray(..)

对不起这个问题

于 2013-08-27T08:26:35.707 回答