【发布时间】:2012-02-09 04:47:41
【问题描述】:
我正在尝试使用 2 个项目构建解决方案并收到以下错误消息:
ColliderTest.obj : error LNK2028: undefined token (0A000080) "public: __thiscall Rect::Rect(int)" (??0Rect@@$$FQAE@XZ) 在函数 "void __cdecl myFunction(void)" 中引用(?myFunction@@$$FYAXXZ)
ColliderTest.obj : 错误 LNK2019: 函数“void __cdecl myFunction(void)”(? myFunction@@$$FYAXXZ)
代码:
- 在“对撞机”项目中,我有这些文件:
对撞机.h
#pragma once
class Rect{
int x;
int y;
unsigned int w;
unsigned int h;
public:
Rect(int x);
};
对撞机.cpp
#include "Collider.h"
Rect::Rect(int x){
this->x = x;
}
- 项目“ColliderTest”有一个对项目 Collider 的引用,这个文件:
ColliderTest.cpp
#include "../app/Collider.h"
void myFunction();
void myFunction(){
Rect rect(4);
}
此外,每个项目都有一个 main.cpp 文件,其中 main() 函数为空,以避免编译器对入口点的抱怨。
【问题讨论】:
-
在搜索了有关该问题的一些信息后,我得出的结论是该问题在参考中。可能做得不对。我认为这可以提供更多帮助:msdn.microsoft.com/en-us/library/ms235590(v=vs.80).aspx
标签: c++ visual-c++ lnk2019