看板 C_and_CPP 關於我們 聯絡資訊
我在這個網站,找到相關安裝說明,以及測試程式 http://ppt.cc/UMd3 我也已經安裝好, 在測試的時候出現以下的錯誤 // 程式碼 #include <stdio.h> #include <stdlib.h> #include "fftw3.h" int main() { fftw_complex *in, *out; fftw_plan p; int N= 8; in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); for( int i=0; i < N; i++) { in[i][0] = 1.0; in[i][1] = 0.0; printf("%6.2f ",in[i][0]); } printf("\n"); p=fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(p); /* repeat as needed*/ for(int j = 0;j < N;j++) { printf("%6.2f ",out[j][0]); } printf("\n"); fftw_destroy_plan(p); fftw_free(in); fftw_free(out); return 0; } //錯誤資訊 1>c:\bn\dsfb.c(12) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(12) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(12) : error C2143: 語法錯誤 : 遺漏 ')' (在 '型別' 之前) 1>c:\bn\dsfb.c(12) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(12) : error C2065: 'i' : 未宣告的識別項 1>c:\bn\dsfb.c(12) : warning C4552: '<' : 運算子無效; 必須是具有副作用的運算子 1>c:\bn\dsfb.c(12) : error C2065: 'i' : 未宣告的識別項 1>c:\bn\dsfb.c(12) : error C2059: 語法錯誤 : ')' 1>c:\bn\dsfb.c(13) : error C2143: 語法錯誤 : 遺漏 ';' (在 '{' 之前) 1>c:\bn\dsfb.c(14) : error C2065: 'i' : 未宣告的識別項 1>c:\bn\dsfb.c(15) : error C2065: 'i' : 未宣告的識別項 1>c:\bn\dsfb.c(16) : error C2065: 'i' : 未宣告的識別項 1>c:\bn\dsfb.c(21) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(21) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(21) : error C2143: 語法錯誤 : 遺漏 ')' (在 '型別' 之前) 1>c:\bn\dsfb.c(21) : error C2143: 語法錯誤 : 遺漏 ';' (在 '型別' 之前) 1>c:\bn\dsfb.c(21) : error C2065: 'j' : 未宣告的識別項 1>c:\bn\dsfb.c(21) : warning C4552: '<' : 運算子無效; 必須是具有副作用的運算子 1>c:\bn\dsfb.c(21) : error C2065: 'j' : 未宣告的識別項 1>c:\bn\dsfb.c(21) : error C2059: 語法錯誤 : ')' 1>c:\bn\dsfb.c(22) : error C2143: 語法錯誤 : 遺漏 ';' (在 '{' 之前) 1>c:\bn\dsfb.c(23) : error C2065: 'j' : 未宣告的識別項 順帶一問, C code要怎麼樣才可以宣告complex 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.192.147
HeyScng:環境沒有設好吧 你的程式我可以跑說 03/03 23:22
aada:謝謝您,我在巡看看我的環境 03/03 23:25
aada:我還是沒辦法執行,一樣的錯誤 03/03 23:35
aada:我是下載fftw-3.2.2.pl1-dll32.zip 03/03 23:36
aada:解壓縮後 到Visual Studio 2008 命令提示字元執行 03/03 23:37
aada:lib /machine:ix86 /def:libfftw3-3.def 03/03 23:38
aada:lib /machine:ix86 /def:libfftw3f-3.def 03/03 23:38
aada:lib /machine:ix86 /def:libfftw3l-3.def 03/03 23:38
aada:產生 libfftw3-3.lib, libfftw3f-3.lib, libfftw3l-3.lib 03/03 23:39
aada:然後在VS2008的 工具-->選項-->專案和方案-->VC++目錄 03/03 23:40
aada:目錄顯示:Include檔案加入fftw3.h 03/03 23:41
abcabcabc:底下的編譯訊息附檔名 .c 未啥不是.cpp 03/03 23:41
aada:cpp可以執行, 難道它不支援c嗎? 03/03 23:42
abcabcabc:因為 for( int xxx ; ; ) 03/03 23:42
abcabcabc:C的話也可以,但是變數都要先宣告 03/03 23:43
abcabcabc:CPP才可以中途插花,中間再亂宣告變數 03/03 23:43
abcabcabc:所以你程式改一下,應該也可以用C跑吧? 我沒看,純猜測 03/03 23:44
aada:只有i,j要事先宣告, 可以了, 謝謝 03/03 23:46
HeyScng:我也學習到了 謝謝 今天還在找lib 怎麼用說XD 03/04 18:57