2013-08-27 23 views
-1

我現在正在與QT戰鬥。我在我的APIinmoov.h中添加一個方法,並將其填充到API.cpp中。這樣的作品,但是當我把它在另一個類,包括它QT和unresolvenextarnal符號

#include "APIinmoov.h" 

它告訴我:

tiempomanual.obj:-1: error: LNK2019: unresolved external symbol "public: void  __thiscall Inmoov::saveTray(class QString,class QString,class QString)" (? [email protected]@@[email protected]@[email protected]) referenced in function "public: void __thiscall  TiempoManual::total(void)" ([email protected]@@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,重建項目,刪除與編譯項目的文件夾,並再次創建它,什麼也沒有。

任何人都知道另一種解決方案或問題?謝謝你的時間。

回答

2

好的,我發現了這個問題。在apiimoov.cpp,當我把方法的頭,我忘了Inmoov ::,因此該方法將

void Inmoov:: saveTray(...) 

而不是

void saveTray(..) 

對不起,這個問題

+0

當我年輕時,花了很多時間尋找這個東西:) – Gui13