• ベストアンサー

コンパイラフラグ(compiler flag)がわからない

こんにちは コンパイラフラグ(compiler flag)について教えてください。 いったいコンパイラフラグとはなんなんでしょうか? 今、OSがwin2000でVC6.0を使っています。 というのも ”error C2872: 'ofstream' : ambiguous symbol” が出てしまうのです。 調べた結果「コンパイラフラグを使う」と書いてあったのですが意味がわかりません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.5

> 某サイトに似たようなエラーを解決するために「compiler flagをどうにかしろ。」と記載してありました。 そのサイトを示していただければ,話が早いと思うのですが。 これのことでしょうか? http://public.kitware.com/pipermail/vtkusers/2001-July/007258.html VTK_USE_ANSI_STDLIB を定義しろといってますね。 統合開発環境からコンパイラしているなら, メニューの「プロジェクト」-「設定」 「C/C++」タブを選択,カテゴリ「一般」, 「プリプロセッサの定義」に, VTK_USE_ANSI_STDLIB を加えてみてはどうでしょうか? コマンドラインからコンパイルしているなら /D オプションで。

mah0213ss
質問者

お礼

できました。 ただ、新しいエラーがでしまいました。ひとつだけなのですが 「C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\ostream(362) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit」 とでました。

mah0213ss
質問者

補足

ズバリそうです! わかりました。 早速やってみます。ただ、ソースが手元にないために週明けになってしまいますので結果はおって連絡させてください。 ありがとうございます。

その他の回答 (4)

回答No.4

> そうです。 やっぱり。 > 同じソースの中ではなくて違うソース同士なのですがやはりだめでしたか。。 たとえコンパイル・リンクできても正しく動く保証がありません。どちらかに揃えてください。

mah0213ss
質問者

補足

fstreamとfstream.hをひとつに統一しましたがエラーが同じエラーがでてしまいました。xx

回答No.3

<fstream> と <fstream.h> とを混ぜて使ってはいませんか? たとえば以下のコードで同様のエラーが出力されます。 #include <fstream> #include <fstream.h> using namespace std; int main() { ofstream stream; return 0; }

mah0213ss
質問者

補足

そうです。 しかし、同じソースの中ではなくて違うソース同士なのですがやはりだめでしたか。。 今手元にソースがないために実行できませんが手に入りしだいやってみようと思います。 ありがとうございます。

回答No.2

こんにちは。 エラーの内容は、あいまいなシンボルです。と 言われていますが、ofstreamはC++のofstreamとして 使っているのでしょうか?

mah0213ss
質問者

補足

実はVTKというビジュアリゼーションツールキットをつかっており、自分の書いたVTKソースをあるCGソフトと互換性を持たせようとしてそのソースとビルドさせてるときに出ました。 おそらくVTKだとおもいますが(今ソースが手元にないため。。申し訳ありません。)某サイトに似たようなエラーを解決するために「compiler flagをどうにかしろ。」と記載してありました。

回答No.1

そのエラーを起こす'最小'のコードを示してください。

mah0213ss
質問者

補足

これでいいですか?違ってたらすみません。 ------------------------------------------- vtkMyTorus3.cpp C:\For Graduate\thesis\3-3 slice datamaker\hfp_gl\vtkWindowToImageFilter.h(63):error C2872:'ostream':ambiguous symbol C:\For Graduate\thesis\3-3 slice datamaker\hfp_gl\vtkImageWriter.h(66):error C2872:'ostream':ambiguous symbol . . . ------------------------------------------- 上のような感じでエラーがでますがどうでしょうか。 お手数おかけします。

関連するQ&A