又来了LNK2001

时间:2012-12-04 09:59:21

标签: c lnk2001

我找了类似的问题,但唯一的主题可能是关于使用库的问题,我会避免...这是我的问题,我收到此错误:

1>Signal generator.obj : error LNK2001: unresolved external symbol "double __cdecl findMaxModulus(double *,int)" (?findMaxModulus@@YANPANH@Z)

我正在使用visual studio professional 2008来开发一个c程序。我有一个主文件和另一个文件,其中包含我编写的所有函数myFunctions.h / c。问题是,当我包含“myFunctions.c”时,这些错误不会出现,而当我包含“myFunctions.h”时它们会出现。

我正在做我从大学里记得的事情(我现在更喜欢matlab),这是

/* Home-made includes */
#include "myType.h"
#include "myFunctions.h"

在包含其他标题(stdlib,数学等等)之后

任何猜测?谢谢

2 个答案:

答案 0 :(得分:3)

错误意味着链接器找不到该功能。这很可能意味着您根本没有编译myFunctions.c文件。确保将其作为“源文件”添加到Visual Studio中的项目中。

答案 1 :(得分:0)

如果您想尝试gcc尝试编译两个.c文件,如下所示:

gcc -Wall main.c myfunction.c -o final.out

您缺少其他.c文件。因此在链接阶段链接器无法解析外部符号(这是您的函数)。试试我说的。

对于Visual Studio:您需要检查是否检查了所有源文件以进行构建。可以选择包含多个源文件中的文件数。