C++ 将现有cpp文件添加到visual studio C++;项目

C++ 将现有cpp文件添加到visual studio C++;项目,c++,visual-studio,visual-studio-2008,linker,C++,Visual Studio,Visual Studio 2008,Linker,我尝试过:“源文件>添加>现有项”并选择了.cpp/.h文件,但仍然出现链接器错误(可能是因为我的.cpp文件未传递到编译器): 错误LNK2001:未解析的外部符号“struct Mem Mem” (?mem@@3UMem@@A) 如何修复它?我找到了解决方案。我在头文件中有extern struct Foo,我忘了在一些.cpp文件中给出一个实际的定义。可能有一百种不同的东西-首先检查它是否被编译(例如,在这里添加一个#error give error!-这会导致错误发生)。如果这不能让事情

我尝试过:“源文件>添加>现有项”并选择了.cpp/.h文件,但仍然出现链接器错误(可能是因为我的.cpp文件未传递到编译器):

错误LNK2001:未解析的外部符号“struct Mem Mem” (?mem@@3UMem@@A)


如何修复它?

我找到了解决方案。我在头文件中有
extern struct Foo
,我忘了在一些.cpp文件中给出一个实际的定义。

可能有一百种不同的东西-首先检查它是否被编译(例如,在这里添加一个
#error give error!
-这会导致错误发生)。如果这不能让事情变得明显,那么也许可以发布更多关于你正在做什么的细节?@matstpeterson:确实如此。在我试图添加到项目的两个文件中都给出此消息:
filename.cpp(8):致命错误C1189:#错误:此处给出错误那么,它显然正在编译。接下来检查它是否在link命令中-删除
#error
行并添加一行,例如
extern int KerFlunk在全局范围内-如果您得到一个缺少
KerFlunk
的错误,那么链接器正在工作,您只是缺少适当的声明-没有向我们显示任何代码,我们只能猜测。
extern int KerFlunk未给出错误消息。错误数与之前相同:2,关于
未解析的外部符号
。我应该显示什么代码?我的意思是,我创建了一个新项目,并试图将两个现有项目添加到当前项目中,但它在链接器级别的编译器上失败了。也许您需要实际“使用”
KerFlunk
(例如,在某些代码中添加
int x=KerFlunk
),我很确定问题出在您的实际代码中。首先显示
struct Mem的声明和定义