今天,看到群上的群友问一个关于LINK的BUG,报:已经定义过的错误
其实这个问题难倒了很大一部分程序员,这个错误的原因是他想定义一个全局变量,于是他就在.h文件中直接定义并给这个变量赋值,这个做法是错误的,当这个.h文件被其他文件调用时,会报LINK,该变量已经定义的警告,那怎么办呢?
先在A.cpp文件中定义该变量:char buf[1024] = {0};
然后在A.h文件中声明改变量为外部变量:extern char buf[1024];
要使用时,直接引用a.h就可以使用该变量了
注意:还得记得a.h中要添加
#ifndef _A_H_
#define _A_H_
extern char buf[1024];
//……
#endif
以下是LINK的一些警告和解决办法,也是转载的:
error LNK: _DllMain@12 already defined in MSVC -03-30 12:00
如果觉得《关于error LNK: char * xxx (?xx@@3PADA) already defined in xxx》对你有帮助,请点赞、收藏,并留下你的观点哦!