LNK200无法解析的外部符号,LNK112无法解析的外部命令,C++程序设计实践最后出问题了,本来做完了但删了些东西就坏了,实在不想重新做
应该是工程文件误删了cpp文件,cpp重新添加进去编译一下就好了。
先把OnEnChangeEdit3相关的代码注释掉,再打开 ClassWizard 重新添加下
你删了什么东西?
如果删了cpp或者.h文件,如果没有备份,你只能重写这部分代码。
如果删的是一些工程生成的文件,就新建一个mfc工程,把代码复制过去然后添加到新工程里,重新编译生成即可。
如果删的是文件中的部分代码,只能重新编写或添加删掉的部分。
LNK200和LNK112是Visual Studio编译器的错误信息,通常是由于链接库文件或对象文件出现问题导致的。这些错误通常与代码中使用的库或文件路径设置有关。下面是一些可能导致这些错误的原因和解决方法:
检查文件路径是否正确。如果你使用了外部库或文件,请确保文件路径正确,并且库文件已经正确链接。你可以在Visual Studio中进行设置,确保库文件的路径设置正确。
确保库文件已经正确链接。如果你使用了外部库,请确保库文件已经正确链接。你可以在Visual Studio中的项目属性中进行设置,选择“链接器”->“常规”,在“附加库目录”中添加库文件所在的目录,并在“附加依赖项”中添加库文件的文件名。
检查代码中是否存在语法错误。如果你的代码中存在语法错误,也可能会导致链接错误。请确保代码中没有任何语法错误,并且所有的头文件、命名空间、变量和函数都已经正确定义。
检查库文件是否适用于你的编译器和操作系统。如果你的库文件是从其他平台或编译器中获取的,可能会导致链接错误。请确保库文件适用于你的编译器和操作系统。
尝试重新构建你的项目。有时候重新构建项目可以解决链接错误。你可以尝试在Visual Studio中选择“生成”->“清理解决方案”,然后再选择“生成”->“生成解决方案”,重新构建你的项目。
错误 LNK2001 无法解析的外部符号 “private: static class GameManager * GameManager::gamem” (?gamem@GameManager@@0PAV1@A) bighomework2 .\Main.obj
需要参考上一个问题:LNK2005错误
上一个错误的文件如下:
//GameMap.cpp
class GameMap {
private:
static GameMap* ga_me;
char gamemap[21][21];
GameMap() { memset(gamemap, 0, sizeof(gamemap)); }
~GameMap() { delete ga_me; }
public:
static
GameMap* getInstance() {
if (ga_me == NULL) {
ga_me = new GameMap();
}
return ga_me;
}
};
GameMap* GameMap::ga_me = NULL;
在这个文件中,将static成员变量定义在同一个文件中,会出现 LNK2005错误。
当去掉后,这次 我有遇到了 LNK2001 错误。
上次我是将最后一句注释掉,能够正常运行。现在不能够。。。
这次的不报错方案:
//GameMap.cpp
class GameMap {
private:
static GameMap* ga_me;
char gamemap[21][21];
GameMap() { memset(gamemap, 0, sizeof(gamemap)); }
~GameMap() { delete ga_me; }
public:
static
GameMap* getInstance() {
if (ga_me == NULL) {
ga_me = new GameMap();
}
return ga_me;
}
};
将全局变量定义到实现的文件中。
//GameMap.cpp
#include"GameMap.h"
GameMap* GameMap::gamem = NULL;
很奇怪的东西,以后在解决吧。
有大神看到的话,若能告知,非常感谢。