visual studio windows从另一个类调用函数

时间:2011-10-28 13:12:24

标签: c++ winforms visual-c++ c++-cli linker-errors

我正在开发一个小型的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(){

}

1 个答案:

答案 0 :(得分:1)

您需要在定义中包含类名:

static void EagleTool::extractCorrectPathofEagle() {
    // ...
}

否则,您将定义一个完全不相关的函数,该函数碰巧具有相同的名称。

相关问题