2013-08-04 171 views
1

我已經從here下載了kiss fft。但是我不知道如何在Visual Studio中使用它。例如,在Visual Studio中創建一個空的win32項目之後,我應該如何將這些文件粘貼到zip文件中並更改配置文件中的命令,以便可以使用kiss fft庫中的所有功能?如何在Visual Studio 2010中使用kiss fft

感謝您的幫助!

+0

什麼是zip文件?庫和頭文件? – doctorlove

+0

還有一些其他的雜項文件,如READE等,但它似乎無法編譯,如果我只是將文件包含在第一個目錄中。有1個.c文件和3個頭文件。編譯器報告「無法解析的外部」不知道我是否也應該在外部依賴關係中做些什麼 – Cancan

回答

3

如果zip中有header(h)和source(c)文件,請右鍵單擊新的空項目並添加(解壓縮的)副本。
您需要將包含路徑設置爲它們所在的位置,因此您可以使用#include所需的頭文件。
而「未解決的外部」意味着它被看作是一個聲明,例如,在一個頭文件中,但找不到定義。
注意在C++項目中包含頭文件到C源代碼。除非另有說明,否則如果您已經包含源代碼,它將會查找C++。 你需要這樣做

extern "C" { 
#include "fft_header.h" 
} 

進一步詳情here


編輯 OK,我下載的文件,取得一個空的Win32控制檯應用程序,選擇空項目,添加路徑在項目中額外包含。 enter image description here 然後我添加了一個主文件,如下所示,同時添加您在下載中提到的C文件。

extern "C" 
{ 
    #include "kiss_fft.h" 
} 

int main() 
{ 
    kiss_fft_cfg cfg; 
    kiss_fft_cpx *fin; 
    kiss_fft_cpx *fout; 
    kiss_fft(cfg, fin, fout); 
} 

我有警告但沒有鏈接錯誤。

+0

如果我添加了extern「C」,它似乎仍然不起作用。實際上,只有三個文件,你可以檢查一下如何解決這個編譯錯誤嗎?在zip文件的第一個目錄中kiss_fft.c kiss_fft.h _kiss_fft_guts.h。 – Cancan

+1

你需要提供更多關於你在做什麼的更多細節因爲它適合我 – doctorlove

+0

目前,我只想要這3個文件進行編譯,就是這樣。然後我會試着弄清楚代碼的細節。你在哪個文件中#include「kiss_fft.h」,並在哪個文件中創建int main()?對不起,我不是一個好的C程序員,所以我不確定它是否可以在沒有int main的情況下工作; – Cancan