1

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

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

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

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

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

就在包含其他标头(stdlib、数学等)之后

有什么猜测吗?谢谢你

4

2 回答 2

3

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

于 2012-12-04T10:01:42.043 回答
0

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

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

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

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

于 2012-12-04T10:10:34.360 回答