スケルトンプログラムのビルドに関するエラーと解決方法

このQ&Aのポイント
  • Windowsプログラミングの基礎であるスケルトンプログラムをビルドできずに困っています。
  • Borland C++ compiler 5.5ではビルドできていたが、Visual Studio 2005でビルドしようとするとエラーが発生しました。
  • CreateWindow関数の第二引数の型変換に関する問題が原因の可能性があります。UNICODEの設定に注意が必要です。
回答を見る
  • ベストアンサー

スケルトンプログラムをビルドできません

Windowsプログラミングの基礎、スケルトンプログラムを ビルドできなくて困っています。 以前Borland C++ compiler 5.5を使っていたときは ビルドできていたのですが、昨日Visual Studio 2005を購入し、 テストでビルドしようとしたところ 次のようなエラーが出てしまいました。 error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [13]' から           'LPCWSTR' に変換できません CreateWindow関数の第二引数を "Sample Program"というふうにしています。 UNICODEが関係しているらしいというところまでは 分かったのですが、具体的にどのように コーディングしてよいのか、まだ分かりません。 初歩的な質問で申し訳ないですが、よろしくお願いします。

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

  • ベストアンサー
回答No.1

文字列定数は_T("aaa")のように書くんじゃなかった?

OP_Amp
質問者

お礼

ウィンドウクラスを格納する変数の型がcharになっていました。 解決しました。 ありがとうございます。

OP_Amp
質問者

補足

回答ありがとうございます。 質問に対する私の言葉が足りませんでしたので、 ソースコードを一部抜粋します。 hWnd = CreateWindow(szClassName, _T("Sample Program"), (以下略) このように書いていても、上記のようなエラーが 表示されてしまいました。 バージョンアップによってUNICODEに対する 扱いが変わったのでしょうか?

関連するQ&A

  • MFCアプリケーションのスケルトンのビルドでいきなりエラー

    Visual Studio2008のVC++でMFCアプリケーションを作る為 プロジェクトのスケルトンを作った段階で(コーディングは 一切してない)ビルドしたらいきなりエラーが出て困っています。 エラー内容:error PRJ003 cmd.exeの起動中にエラーが発生しました。

  • 粒子法プログラムのビルドエラー(cstdlibのエラー)

    粒子法のMPS法のプログラミングをしているのですが、C++でmps.cをビルドをすると、cstdlibのエラーが出てビルドが出来ません。 mps.cの本文中にはエラーは無く、visual studio 9.0にあるcstdlibの構文エラーが出てしまいます。 最初から入っているライブラリファイルが間違っているとは思えません。 解決法を教えてください。お願いします。 ↓ mps.c内でcstdlibを使っている場所 ↓ #include <cstdlib> /* This line is necessary for C++ compiler. Remove this line in C compiler */ #include <stdio.h> #include <sys/types.h> #include <math.h> #include <string.h> ↓ エラーメッセージ ↓ 1>コンパイルしています... 1>mps.c 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 省略(21行目のエラーが23~32行目まで同じエラーが続く) 1>MPS3000 - エラー 62、警告 0 ========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========

  • _TCHAR、LPCWSTRについて

    'MessageBoxW' : 2 番目の引数を '_TCHAR' から 'LPCWSTR' に変換できません。 というエラーが出ました。 いろいろHPを回って_TCHARはUnicodeの場合はw_char、マルチバイトのときはcharで処理されると書いてあったのですが、どうしても直せません。 現在Unicodeとマルチバイトの両方に対応させたプログラムを書きたいと思っています。 どうすればいいでしょうか。 よろしくお願いします。

  • CUDAのサンプルプログラムのビルド

    CUDAで遊んでみたかったので、ツールキットをインストールしたのですが、 付属のサンプルプログラムで以下のようなエラーが出てビルドができません。 エラー 1 error : Error opening output file ふぁいるぱす: Unicode 文字のマッピングがターゲットのマルチバイト コード ページにありません。 何をすればいいのかさっぱりわからないので、教えてください。 なおツールキットのバージョンは7.5。 Visual Studio 2013、Windows 10を使用しております。

  • LPCWSTRとchar

    質問なのです・・・ 現在、私は[Visual Stdio.Net 2005]を使って、C++のプログラミングをしようと思いまして、今日参考書を見てやってみたのですが、 charの配列を使って、文字列を格納しそれを使おうとしたら、LPCWSTRのキャストが必要というエラーがでました。 参考書だと普通に通るらしいのですが・・・Visual Stdio.Net 2003と2005の違いなのでしょか?わかる方教えていただけませんでしょうか??

  • 1お勧めはどれ?

    cの勉強をしていますうちのパソコンにはMicrosoft visual C++6.0とMicrosoft visual C++ Epress Edtion 、borland c++ Compiler の3つがインストールされています、特にC++6.0は弟が残して行った物です。CをビルドしてEXEファイルまで作るならどれを使ったらよいでしょうか?アドバイスお願いします。

  • C言語のコンパイラ

    C言語の勉強がしたいと思っているのですが、コンパイラっていうんですかね、それについて少し調べてみたら 無料なら"Borland C++ Compiler"で、有料ならなんかかなり高いっぽいけど"Visual C++"っていうのがあることが解りました。 よくプログラミング系のサイトの人で"Borland C++"のコンパイラを利用してとてもプログラミングがしやすくなったということが書いてあるのですが、"Visual C++"と比べたらどっちの方がいいんですか?(やっぱり有料の方?) もし人それぞれなら、みなさんは両方あったらどっちを使いますか? 初心者なら無料ので十分すぎるのだとは思いますが、プログラマーみたいな人から見るとどうなのかな~と思ったので教えていただけますか。 お願いします。 ついでに"Visual C++"って言語があるんですかね?何かそんな風に書いてあるところもあったもんで。 かさねがさねお願いします。

  • processingのビルドエラーについて

    ProcessingでAndroidアプリを開発しようと思い、最近始めました。 Ketai Libraryさんのサイトからダウンロードしexampleを実行しようとしたらエラーが起きます。 BUILD FAILED C:\android-sdks\tools\ant\build.xml:720: The following error occurred while executing this line: C:\android-sdks\tools\ant\build.xml:734: Compile failed; see the compiler error output for details. Windows7 Professional 32bitを使っています。 また、Proseccing2.0.3を使っています。 android-SDKのbuild.xmlに関することだとは思うのですがよくわかりません。 プログラミングを始めたばかりでよくわからないことが多く、宜しければ教えていただけないでしょうか。

  • 粒子法プログラムのビルドエラー(cstdlibのエラー)

    粒子法のMPS法のプログラミングをしているのですが、C++でmps.cをビルドをすると、cstdlibのエラーが出てビルドが出来ません。 解決法を教えてください。お願いします。 error C2143 '{' が ':' の前にありません。 error C2059 ':' ↑これがエラーメッセージです。

  • VC++6.0のスケルトンコードをビルド&実行でエラー

    VC++6.0を使ってゲームを作ろうとしているのですが、少し困った問題が起きました。 「新規作成」で「プロジェクト」→「MFC AppWizard (exe)」を選んで、 ステップ1で「SDI」を選択、「ドキュメント/ビューアーキテクチャのサポート」をOFFにして、 ステップ3で「ドッキングツールバー」と「初期ステータスバー」をOFFにします。 そしてできあがったスケルトンをそのままビルドして実行すると、下記メッセージが表示され終了します。 Debug Assertion Failed! Program: ○○○ File: winocc.cpp Line:331 For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. 上記はDebug版の場合ですが、Release版の場合はCliant領域が更新されないだけで一応動いてはいます。 スケルトンコード内のAssert(っぽい)箇所をコメントアウトしましたが結果は同じでした。 どなたか原因をご存じないでしょうか?もしかして、VC++6.0のバグ? 尚、「ドキュメント/ビューアーキテクチャのサポート」、「ドッキングツールバー」、 「初期ステータスバー」のどれか1つでもONにすれば何も起きません。

専門家に質問してみよう