• 締切済み

警告がエラーとして自動認識

C++のプログラムをWindows2000上でmakeをかけてます unsigned と signedの参照にて警告が出て 警告がエラーとされてmakeが中断、もちろんObjectも 生成されません。 C2220・・・ 無視させたいのですが、make(cl?)のオプションが 分かりません。 教えていただけませんか?

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

18: '<' : signed と unsigned の数値を比較しようとしました。 castすればいいのではないですか? 基本的に、signed とunsignedを比較するのは、危険がともないます。 つまり、 int i=-1; unsigned j=1; i<j とかはできません。 (unsigned)i<j の様にするべきだと思います。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

コンパイラやmakeは、どこのものですか? また、エラーになるソースを見せて貰えないでしょうか?

mo_aries
質問者

補足

CLを使用しています。 makeはcygwin上でかけています。 エラーメッセージは下記の通りです。 C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(387) : error C2220 : 警告をエラーとして扱いました。オブジェクト ファイルは生成されません。 C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(387) : warning C40 18: '<' : signed と unsigned の数値を比較しようとしました。 make: *** [.obj/win32/Convert-o-vc60.obj] Error 2 すいません、ソースはUPできないんです。ゴメンナサイ

関連するQ&A

  • SDKでのエラーなのですが。

    はじめまして。 SDKの勉強で猫でもわかる~のHPの第37章のサンプルを実行したのですが、 --------------------構成: 037 - Win32 Debug-------------------- コンパイル中... main.cpp D:\SDK\037\main.cpp(230) : error C2664: 'CallWindowProcA' : 1 番目の引数を 'int (__stdcall *)(void)' から 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' に変換できません。 (新しい機能 ; ヘルプを参照) この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。 D:\SDK\037\main.cpp(248) : error C2664: 'CallWindowProcA' : 1 番目の引数を 'int (__stdcall *)(void)' から 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' に変換できません。 (新しい機能 ; ヘルプを参照) この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。 cl.exe の実行エラー 037.exe - エラー 2、警告 0 というようなエラーが出てしまいました。 このエラーを回避するにはどのようにすればいいのでしょうか?

  • 警告が消えません・・・

    Microsoft NET Frameworkとタイトルバーに表示されたウィンドウが 起動すると出てきて、消えてくれません。 アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「継続」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。 オブジェクト参照がオブジェクト インスタンスに設定されていません。 と、出るのです。お助け願います

  • リンクエラーが出ます

    ウィンドウ枠を作るプログラムで、 1>text1.obj : error LNK2019: 未解決の外部シンボル "unsigned short __cdecl InitApp(struct HINSTANCE__ *)" (?InitApp@@YAGPAUHINSTANCE__@@@Z) が関数 _WinMain@16 で参照されました。 1>F:\C言語\猫でも分かるW\text1\Debug\text1.exe : fatal error LNK1120: 外部参照 1 が未解決です。 1>ビルドログは "file://f:\C言語\猫でも分かるW\text1\text1\Debug\BuildLog.htm" に保存されました。 1>text1 - エラー 2、警告 0 と言うエラーがでました。 サイトを調べたのですが、わかりません。

  • psql でのエラー出力について

    C:\Program Files\PostgreSQL\8.0\bin>psql -U postgres test2 -c "SELECT * FROM addrbook; psql: 警告:余分なオプション "-c" は無視されます psql: 警告:余分なオプション "SELECT * FROM addrbook;" は無視されます ホスト名: localhost パスワード: PostgreSQL の会話型ターミナル、psql 8.0.1 for windows へようこそ Type: \copyright とタイプすると、配布条件を表示します。 \h とタイプすると、SQL コマンドのヘルプを表示します。 \? とタイプすると、内部スラッシュコマンドのヘルプを表示します。 \g と打つかセミコロンで閉じると、クエリーを実行します。 \q で終了します。 test2=# \q ============================================== -c以下のコマンドを実行させたいのですが、警告が出てしまいます。 ================================================ C:\Program Files\PostgreSQL\8.0\bin>type test.txt SELECT count(*) from addrbook; INSERT into addrbook values         ('ttt', '0987', 'test'); C:\Program Files\PostgreSQL\8.0\bin>psql test2 -U postgres -f test.txt psql: 警告:余分なオプション "postgres" は無視されます psql: 警告:余分なオプション "-f" は無視されます psql: 警告:余分なオプション "test.txt" は無視されます ホスト名: localhost パスワード: データベース名: test2 psql: FATAL: password authentication failed for user "-U" <Enter> ================================================ test.txtを実行させたいのですが同様にエラーになってしまいます。 何が間違っているか、どなたか分かるかたがいらっしゃったらご指導お願い出来ませんでしょうか? 何卒よろしくお願い致します。

  • 何も書いて無いのに警告が出るだろうか

     プログラム解析のため10個ぐらいのC言語ファイルで 出来たソフトをビルドしたのですが、次の警告が最初の ファイル以外に対して、それぞれ出ます。 >C1300 (W) Command parameter specified twice > 同じコンパイラオプションを2度以上指定しています。 >同じコンパイラオプションの中で最後に指定したものを >有効とします。  define 等が2度以上書かれているのかなと思い、あるファイル の中身を全て削除しました。中身が空なだけでファイルは消して いません。  それなのに、そのファイルに対して上の警告が出ます。  この警告は何でしょう。何も書いて無いのにこのような警告が 出るのでしょうか。  宜しくお願いします。

  • Visual Windows for BC++ のサンプルプログラムがエラーになる

    Visual Windows for BC++ をインストールした直後に、新しいプロジェクトをwindows型でつくり、サンプルプログラムをビルドしたところ、うまく実行ファイルができ、正常に動作しました。 次に、OpenCVを http://nautilus.cs.miyazaki-u.ac.jp/~yoshi/pukiwiki/index.php を参考にダウンロードして、 インクルードファイルの検索パスに3つ: C:\Program Files\OpenCV\cv\include、C:\Program Files\OpenCV\cxcore\include、C:\Program Files\OpenCV\otherlibs\highgui ライブラリファイルの検索パスに1つ:C:\Program Files\OpenCV\lib を追加しました。 OpenCVのサンプルプログラムをビルドしようとしたのですがエラーになり先に進みません。それどころか、インストール直後にビルドできたサンプルプログラムもエラーが出るようになってしまいました。 エラーが発生したため、brc32.exe を終了します。 となります。 コンパイルも、以下の警告が出るようになってしまいました。 私の設定が悪いのでしょうか、それとも、Visual Windows for BC++では、OpenCVは扱えない ということでしょうか? よろしくお願いします。 Visual Windows for BC++, Copyright (c) 2003-2007 M. Yasue: proj1.exe ビルド実行中..... Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland ..\hello.cpp: 警告 W8060 ..\hello.cpp 30: おそらく不正な代入(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 41: パラメータ 'hPrevInstance' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 41: パラメータ 'lpCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 ..\hello.cpp 95: パラメータ 'message' は一度も使用されない(関数 __stdcall OnPaint(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8057 ..\hello.cpp 95: パラメータ 'wParam' は一度も使用されない(関数 __stdcall OnPaint(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8004 ..\hello.cpp 130: 'wmEvent' に代入した値は使われていない(関数 __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long) ) 警告 W8057 ..\hello.cpp 183: パラメータ 'lParam' は一度も使用されない(関数 __stdcall About(HWND__ *,unsigned int,unsigned int,long) ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland リソースファイルコンパイル・リンク実行中..... Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. 終了.....

  • error C2664

    現在VisualStudio C++ 6.0にてプログラムを組んでいるのですが、以下のようなエラーが出ます。 型の変換ができていないであろうことはわかるのですが、解決方法がわかりません。 どのような解決方法があるのでしょうか? よろしくお願いします。 error C2664: 'strcat' : 1 番目の引数を 'unsigned char [256]' から 'char *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。

  • プロジェクトを作った際のエラー

    VisualC++ 2005 Express Editionを使用してます win32コンソールアプリケーション - アプリケーション設定 - windowsアプリケーション この新しく作ったプロジェクトを何もいじらずにビルドすると __imp__EndPaint@8 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__BeginPaint@8 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcW@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DestroyWindow@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DialogBoxParamW@20 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__EndDialog@8 が関数 "int __stdcall About(struct HWND__ *,unsigned int,unsigned int,long)" (?About@@YGHPAUHWND__@@IIJ@Z) で参照されました。 C:\C++test\test\Debug\test.exe : fatal error LNK1120: 外部参照 19 が未解決です。 というエラーが出てしまいます 800文字オーバーしてしまうのでエラーの前半部分を消してあります この原因と解決方法を教えてください よろしくお願いします

  • リンクエラーについて

    C++の初心者です。 C++で作成したプログラムがリンクでエラーになります。 エラーの内容は、”LNK2019:未解決のシンボル_IoInitが間数XXXXで 参照されました。”です。 IoInit関数を含むライブラリ(C:\JAVAC\ciolib.lib)をリンクする必要があり、リンカの/DEFAULTLIBオプションでライブラリを指定しましたが、状況は変わりません。 リンカの内容は、以下のとうりです。 cl -I:"C:\Program Files\Microsoft Visual Studio 8\VC\include" -I:C:\j2sdk1.4.2_18\include -I:C:\j2sdk1.4.2_18\include\win32 -LD -FeCiolibJNI.dll CiolibJNI.cpp /link -libpath:"C:\Program Files\Microsoft Visual Studio 8\VC\lib" /NODEFAULTLIB:C:\JAVAC\ciolib.lib /DEFAULTLIB:C:\JAVAC\ciolib.libの指定が悪いのか状況は変わりません。それとも、指定オプションが悪いのか困っています。 リンカが悪いのであれば、修正箇所を教えてください。

  • McAfee Firewallの警告メッセージ

    多分どうってことないと思うのですが、数日前からメッセージが出て消し方がわかりません。 警告メッセージの内容と、消し方についてどなたか教えてください。 宜しくお願いいたします。 警告メッセージ: McAfee Personal Firewall が警告メッセージを生成しました。 時刻:Tue Aug 03 08:10:20 2004 警告テキスト: McAfee Personal Firewall (MPF) はすでに実行されています。システム トレイの [MPF] アイコンを右クリックしてプログラム オプションにアクセスしてください。

専門家に質問してみよう