- 締切済み
エラーが外れません!深刻な問題 たすけてください!
クラスで3DCGを表示するプログラムの授業をしています。 私も先生の指示に従って入力しているのですが、 どうしてもエラーが外れないのです。 ということは私の入力ミス? と思えば、エラーが発生しなかった友達から中身を丸ごと入れ替えてもエラーは外れないのです。 なぜ、みんなは正常に起動して私はエラーが発生するのか? これでは授業に遅れを生じ最後には成績にも響く大問題となりかねません! まだ、3DCGの授業は始まったばかりだから遅れを取り戻せます。 正常に戻すなら今のうちです。 なお、2DCGのゲームを作成したときはみんなと変わらず問題なく起動しました。 以下がどうしても取れないエラーです。 これは文法エラーじゃないようです。 LINK : warning LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます。 nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) は既に LIBCD.lib(new.obj) で定義されています。 nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) は既に LIBCD.lib(dbgdel.obj) で定義されています。 .\Debug/NmBase4.exe : fatal error LNK1120: 外部参照 2 が未解決です。 そのほかです。ほかのエラーは補足で言います。 私の使っているコンパイラは Visual Studio .NET 2003 みんなは Visual Studio 6.0 だそうです。 どうかたすけてください!お願いします!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sha-girl
- ベストアンサー率52% (430/816)
http://support.microsoft.com/default.aspx?scid=kb;ja;148652 プロジェクトの設定で 特定のライブラリを無視 nafxcwd.lib;LIBCD.lib;を追加 ※どのランタイムライブラリを使っているかはプロジェクトのプロパティ →C/C++→コード生成→ランタイムライブラリの部分をみればわかります。 「既に LIBCD.lib(new.obj) で定義されています。」というエラーから LIBCD.libとリンクしていることがわかったので今回はLIBCD.libです。 追加の依存ファイルに nafxcwd.lib;LIBCD.lib; 要は二重にnewとdeleteが定義されているという問題です。 MFCのライブラリnafxcwd.libをリンクする場合、Cの標準ライブラリより先に リンクする必要があります。
- Trick--o--
- ベストアンサー率20% (413/2034)
VS6.0とVS.NET2003は違うものですから、6.0で動くのに.NETで動かないものがあるのは「当然」です。 .NETを使わなければいけない理由が無いのでしたら6.0を使ってはいかがですか? もし、授業に使うPCで貴方が使うものにだけ6.0が入っていないのだとしたら先生に「6.0じゃないと動かないようなので6.0を使わせろ」と言ってください。
- K-1
- ベストアンサー率21% (832/3844)
>これは文法エラーじゃないようです。 そのとおりで、リンクに失敗しています。 2重定義ですかね。 VB6とNETの環境の違いとしかいいようがないです。 で、ここで相談する前に先生に相談しましたか? とりあえず、対処方法がMSのWebにありますので参照してください。 http://support.microsoft.com/default.aspx?scid=kb;ja;148652
補足
先生から配布されたスケルトンプログラムを起動させたところ、 6.0は起動に成功していますが、.NETは成功していません。 なお、スケルトンプログラムは一切手をつけていません。 先生に相談しみましたが環境が悪いのではないか? 以外は答えが返ってきません。
補足
同じC++で同じメーカーの同じシリーズのコンパイラなのにこんなに違うとは思わなかったです。 ライブラリのバージョンも新しいもの対応にするのも検討しているそうです。 今度VS2005が出たから微妙な時期だそうでVS6.0にとどめているそうです。 いままでホコリかぶっていた6.0を使用する事にして、 .NETはC++授業・自分用にすることにします。 こうなると新たな問題が浮かび上がりました。 いまのソフト開発業界ではどのコンパイラが主流なのでしょうか? この事については改めて質問させていただきます。