2016-07-13 18 views
0

私はCatapulシステムレベル合成に取り組んで、私はエラーを取得していますコンパイル時にしながら、C++のコードを実装しようとしています:「メソッドの定義がありませんが「ios_base :: ios_base」

No definition for method 'ios_base::ios_base

このエラーを取り除く手助けをしてください。

#include<ac_int.h> 
#include<iostream.h> 
#include<fstream.h> 
#include<math.h> 
using namespace std; 
#pragma hls_design top 
int main() { 

    ac_int<3>R; 
    ac_int<3>G; 
    ac_int<3>B; 

     fstream rfile; 
     rfile.open("image_r.txt",fstream::in | fstream::out | fstream::binary); 
     if (rfile.is_open()) 
      { 

      rfile>>R>>G>>B; 
      rfile.close(); 
      } 

    int fr = R/255; 
    int fg= G/ 255; 
    int fb = B/255; 

    ac_int<3>Y = ac_int<3> ((0.2989 * fr)+ (0.5866 * fg) + (0.1145 * fb)); 
ac_int<3>Cb = ac_int<3> ((-0.1687 * fr) - (0.3313 * fg) + (0.5000 * fb)); 
ac_int<3>Cr = ac_int<3> ((0.5000 * fr)- (0.4184 * fg) - (0.0816 * fb)); 

fstream wfile("image_w.txt",fstream::in | fstream::out | fstream::binary); 
     if (wfile.is_open()) 
      { 
       wfile<<Y<<Cb<<Cr<<endl; 
       wfile.close(); 
     } 


return 0; 

} 
+2

'#include 'は '#include 'を使用しないでください。 'fstream'と同じです。 –

+2

標準ヘッダーの.hを取り除く。 「」は「」ではありません。タイプミスとして閉じる投票 – NathanOliver

答えて

0

ヘッダーiostreamとfstreamは、拡張子を必要としません。あなたのコードでは、しかし、あなたは、入力された:

#include<iostream.h> 
#include<fstream.h> 

だから、あなたにそれを変更する必要があります.hの拡張子を削除し、おそらくまた、コンパイラによって生成された誤差を除去

#include<iostream> 
#include<fstream> 

そして使用しないusing namespace std; あなたのプロジェクトがますます大きくなるにつれて、これは物事をますます困難にします。代わりに、手動で名前空間std::を追加してください。

関連する問題