プロが教える店舗&オフィスのセキュリティ対策術

こんにちは

コンパイラフラグ(compiler flag)について教えてください。

いったいコンパイラフラグとはなんなんでしょうか?

今、OSがwin2000でVC6.0を使っています。

というのも
”error C2872: 'ofstream' : ambiguous symbol”

が出てしまうのです。

調べた結果「コンパイラフラグを使う」と書いてあったのですが意味がわかりません。

よろしくお願いします。

A 回答 (5件)

> 某サイトに似たようなエラーを解決するために「compiler flagをどうにかしろ。

」と記載してありました。

そのサイトを示していただければ,話が早いと思うのですが。

これのことでしょうか?
http://public.kitware.com/pipermail/vtkusers/200 …
VTK_USE_ANSI_STDLIB を定義しろといってますね。

統合開発環境からコンパイラしているなら,
メニューの「プロジェクト」-「設定」
「C/C++」タブを選択,カテゴリ「一般」,
「プリプロセッサの定義」に,
VTK_USE_ANSI_STDLIB を加えてみてはどうでしょうか?

コマンドラインからコンパイルしているなら /D オプションで。

この回答への補足

ズバリそうです!

わかりました。

早速やってみます。ただ、ソースが手元にないために週明けになってしまいますので結果はおって連絡させてください。

ありがとうございます。

補足日時:2003/12/20 10:55
    • good
    • 0
この回答へのお礼

できました。

ただ、新しいエラーがでしまいました。ひとつだけなのですが

「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」

とでました。

お礼日時:2003/12/22 10:48

> そうです。


やっぱり。

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

この回答への補足

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

補足日時:2003/12/22 10:49
    • good
    • 0

<fstream> と <fstream.h> とを混ぜて使ってはいませんか?



たとえば以下のコードで同様のエラーが出力されます。

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

using namespace std;
int main()
{
ofstream stream;
return 0;
}

この回答への補足

そうです。

しかし、同じソースの中ではなくて違うソース同士なのですがやはりだめでしたか。。

今手元にソースがないために実行できませんが手に入りしだいやってみようと思います。

ありがとうございます。

補足日時:2003/12/19 14:18
    • good
    • 0

こんにちは。



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

この回答への補足

実はVTKというビジュアリゼーションツールキットをつかっており、自分の書いたVTKソースをあるCGソフトと互換性を持たせようとしてそのソースとビルドさせてるときに出ました。

おそらくVTKだとおもいますが(今ソースが手元にないため。。申し訳ありません。)某サイトに似たようなエラーを解決するために「compiler flagをどうにかしろ。」と記載してありました。

補足日時:2003/12/19 14:01
    • good
    • 0

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

この回答への補足

これでいいですか?違ってたらすみません。
-------------------------------------------
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
.
.
.
-------------------------------------------
上のような感じでエラーがでますがどうでしょうか。

お手数おかけします。

補足日時:2003/12/19 14:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!