2012-12-04 35 views
1

我找了类似的问题,但唯一的话题可能是一个上使用库,我会避免...这里是我的问题,我得到这个错误:LNK2001,再次

1>Signal generator.obj : error LNK2001: unresolved external symbol "double __cdecl findMaxModulus(double *,int)" ([email protected]@[email protected]) 

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

我在做什么,我从大学记得(我更到MATLAB现在),这是

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

刚刚列入行吟诗人头(STDLIB,数学等)

有没有猜测?谢谢

+0

问题是我没有将文件添加到项目资源管理器中的资源文件夹,我猜是什么ThiefMaster说:) – user1875202

回答

3

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

+0

好吧,这是我想过的,但重点是:当我包含标题在主文件中,是不是关联的.c文件自动编译? – user1875202

+0

这完全没有关系。他们甚至不需要相同或相似的名字。 – ThiefMaster

+0

@ user1875202 - 您需要将所有'.c'文件专门添加到项目中,以便编译器编译它们。 –

0

如果你想试穿gcc尝试编译两个.c文件相同这样如下:

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

你缺少其他.c file.So在链接阶段链接器无法解析外部符号(这是你的功能)。像我说的那样尝试。

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

+0

我正在使用视觉工作室,我想在该环境中排序问题。我设法使软件工作,但我不明白为什么当我包括myFunctions.c并没有好的时候,当我包含myFunctions.h – user1875202