2012-12-04 37 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