分割コンパイルを始めたばかりです
初歩的なミスが出てきて、コンパイルできないので助けてください!
C
1/* dft.h */ 2#include<stdio.h> 3#include<math.h> 4#include"dft.h" 5#include"complex.h" 6 7#define PI 2.0*asin(1.0) 8 9 10void clear_array(double x[], int n) //要素数nの配列xに,すべて0を代入する(初期化) 11{ 12 for(int i=0;i<n;i++){ 13 x[i] = 0.0; 14 } 15} 16 17void square_wave(double x[], int n) //要素数nの配列xに,任意の周波数の矩形波を書き込む.振幅は任意,例えば-1から1など 18{ 19 const int f=5; //周波数 20 const double A=1.0; //振幅 21 int s=0; 22 for(int i=0;i<n;i++){ 23 if((i%(2*f))<f){ 24 s=1; 25 }else{ 26 s=0; 27 } 28 x[i]=A*cos(PI*s); 29 } 30} 31 32void sin_waves(double x[], int n, double f1, double f2, double f3) 33{ 34 for(int i=0;i<n;i++){ 35 x[i] = 2.0* sin(1.0*PI*i/n*f1) + 0.8*cos(2.0*PI*i/n*f2) + 0.7*sin(2*PI*i/n*f3); 36 } 37} 38 39void dft(const double in[], Complex out[], const int N) 40// 41// 離散フーリエ変換(DFT) 42// 元データは実数,変換後は複素数 43// 44// in : 元データ.これは変更しない.実数の配列. 45// out : 計算結果.こちらは複素数. 46// N : データ個数.inもoutも同じデータ数でなければならない 47// 48{ 49 int t; 50 /* 出力用の配列を初期化 */ 51 for(t=0; t<N; t++) { 52 out[t].re = 0.0; 53 out[t].im = 0.0; 54 } 55 56 for(int f=0; f<N; f++){ 57 // 以下のループで 1個のF[omega]を計算する. 58 double omega = 2 * PI * f; 59 for(t=0; t<N; t++) { 60 /* 積分の中身の計算 */ 61 out[f] = Cadd(out[f], Cmul( ToComplex(in[t], 0.0), Cexp( ToComplex(0.0, -omega * t/N) ))); 62 } 63 } 64} 65
C
1 /* dft.h */ 2void clear_array(double x[], int n); 3void square_wave(double x[], int n); 4void sin_waves(double x[], int n, double f1, double f2, double f3); 5void dft(const double in[], Complex out[], const int N); //問題の4行目です。 6
この状態でmakefileのためのにobjファイルを作るための分割コンパイルを行ったのですが、コマンドプロンプトにおいて、以下のようなエラーが出ました。
C
1C:\Users\TaKe\Desktop\情報処理\1年後期\授業8回目>bcc32 08-1.cpp complex.cpp dft.cpp 2Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland 308-1.cpp: 4警告 W8004 08-1.cpp 9: 'fp' に代入した値は使われていない(関数 main() 5) 6complex.cpp: 7dft.cpp: 8エラー E2303 dft.h 4: 型名が必要 9*** 1 errors in Compile *** 10
どこが間違っているのか教えてください。
分割コンパイルを行う場合、普段とは違う決まりなどがあるのでしょうか?
また、今回makeする為の.objを作るための分割コンパイルですが、.objを簡単に作る方法?などはありますか?
以上の3点についてよろしくお願いします!

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/16 03:39