我正在开发一个小型的visual stdio 2010 c ++项目。我创建了一个基于Windows的小项目。 GUI界面有一些按钮。然后我创建了一个带有一些小函数的xxx.h和xxx.cpp文件。现在我想调用一个函数fom xxx,当有人按下按钮时。我得到以下错误请帮助我....
1>EagleTool.obj : error LNK2028: unresolved token (0A0000CF) "public: static void __clrcall EagleTool::extractCorrectPathofEagle(void)" (?extractCorrectPathofEagle@EagleTool@@$$FSMXXZ) referenced in function "private: void __clrcall EagleGUI::Form1::button3_Click(class System::Object ^,class System::EventArgs ^)" (?button3_Click@Form1@EagleGUI@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
1>EagleGUI.obj : error LNK2028: unresolved token (0A00000B) "public: static void __clrcall EagleTool::extractCorrectPathofEagle(void)" (?extractCorrectPathofEagle@EagleTool@@$$FSMXXZ) referenced in function "private: void __clrcall EagleGUI::Form1::button3_Click(class System::Object ^,class System::EventArgs ^)" (?button3_Click@Form1@EagleGUI@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
1>EagleGUI.obj : error LNK2019: unresolved external symbol "public: static void __clrcall EagleTool::extractCorrectPathofEagle(void)" (?extractCorrectPathofEagle@EagleTool@@$$FSMXXZ) referenced in function "private: void __clrcall EagleGUI::Form1::button3_Click(class System::Object ^,class System::EventArgs ^)" (?button3_Click@Form1@EagleGUI@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
1>EagleTool.obj : error LNK2001: unresolved external symbol "public: static void __clrcall EagleTool::extractCorrectPathofEagle(void)" (?extractCorrectPathofEagle@EagleTool@@$$FSMXXZ)
EagleTool.h
#ifndef _EagleTool_H_
#define _EagleTool_H_
class EagleTool {
public:
void static extractCorrectPathofEagle();
};
#endif
EagleTool.cpp
#include "stdafx.h"
#include "EagleTool.h"
#include "Form1.h"
void static extractCorrectPathofEagle(){
}
答案 0 :(得分:1)
您需要在定义中包含类名:
static void EagleTool::extractCorrectPathofEagle() {
// ...
}
否则,您将定义一个完全不相关的函数,该函数碰巧具有相同的名称。