C++ソースコンパイルで実行ファイルのトラブル!初心者向け

このQ&Aのポイント
  • プログラミング初心者がC++のソースをコンパイルして実行ファイルを作成する際にトラブルが発生しています。
  • 実行ウィンドウが固まってしまい、どのプログラムでコンパイルしても同じ現象が起きています。
  • 調査した結果、Visual C++やC++Builderで作成した実行ファイルも同様の問題が発生していますが、CD-ROM添付のサンプル実行ファイルだけは正常に表示されます。猫でもわかるゲームプログラミングで勉強しています。
回答を見る
  • ベストアンサー

C++のソースをコンパイルしてできた実行ファイル

のトラブルです。ちなみにプログラミングはかなりの初心者です。 サンプルソース等をコンパイルして実行ファイルを作成しても、実行ウィンドウが固まってしまいます。 どのプログラムでコンパイルしても同じです。二台のPCのVisual C++でやってみましたが(VistaデスクトップとXPノート)、どちらでもビルドが正常終了した後実行ファイルを確認するとファイル名の表示されたウィンドウが真っ白のまま固まってます。borlandのC++Builderで作成した実行ファイルも実行ウィンドウが同じ状態になりました。CD-ROM添付のサンプル実行ファイルだけはしっかり表示されました。 猫でもわかるゲームプログラミングで勉強しようとしています。 どなたか分かる方ご回答お願いしますm(_ _)m

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

「固まってしまう」というのはどんな状態ですか? 何も描画していない(描画するコードを書いていない)とか、 描画方法が正しくないので、ウィンドウクラスに登録した背景だけが描画されているとかではありませんか? # WM_PAINTに何も書いていなくて、ウィンドウ乗せて動かしたら消えた…とか。

REINBOW01
質問者

お礼

部分的にテキストの開発環境の使い方を見たやり方に、サンプルのソースファイル貼り付けとか、間違ったやり方をしてました。 既存のソースからプロジェクトを作成とかにしたら、ちゃんと実行画面の表示ができました。 cppのファイル名だけ表示された白いウィンドウが表示されてプログラムが何も実行されないと言う状態だったんですけど・・・自分に問題があったようなので。お騒がせしてすみません。

その他の回答 (2)

  • hisappy
  • ベストアンサー率46% (184/392)
回答No.3

mainが何かの処理を待ったままになっている。 画面の再描画処理が行われていない。 実はステップ実行なので止まってて正解。 そもそも画面表示に関する処理が無い。 ペイント系統のサンプルなので、真っ白なキャンバスが表示されているので正解。 ロジックを手打ちで入力しており、どこかの入力ミスで無限ループ状態。 使用ライブラリがバージョン依存するもので、使っているのは未対応のライブラリだった。 実行されるとは思っていなかったプログラム君が顔面蒼白となっている。 コンパイルの環境設定が豪快に間違っている。 プログラム君の気分が乗っていない。 そもそも画面に描画するものが無い。 さて、どれかそれっぽい答えはありましたでしょうか?

REINBOW01
質問者

お礼

色々なケースを考えてくださってありがとうございます。 コンパイルの環境設定が豪快に間違っていたようです。

noname#259269
noname#259269
回答No.1

ソースがどこか間違っているからでしょう、としか言いようがないですね。 短いソースなら全部掲載すれば、回答してくれる人がいるかも。

REINBOW01
質問者

お礼

すみません、ソースというかやり方から間違っていたようです・・・ しっかり読んで考えてやり直してみたら実行できました!どうもありがとうございます。

REINBOW01
質問者

補足

プロジェクトを新規作成でWindowsアプリケーション、空のプロジェクトで始め、サンプルのソースをコピー&ペーストで貼り付けたんですが、 1>new1.cpp 1>c:\documents and settings\REI\my documents\visual studio 2008\projects\new1\new1\new1.cpp(58) : error C2440: '=' : 'LPCSTR' から 'LPCWSTR' に変換できません。 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>c:\documents and settings\REI\my documents\visual studio 2008\projects\new1\new1\new1.cpp(85) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [6]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>ビルドログは "file://c:\Documents and Settings\REI\My Documents\Visual Studio 2008\Projects\new1\new1\Debug\BuildLog.htm" に保存されました。 1>new1 - エラー 2、警告 0 となります。すみません、ソースは文字数の関係でUPできないのですが、 http://www.wikihouse.com/x86clocker/index.php?%A4%CF%A4%B8%A4%E1%A4%C6%A4%CEVC%2B%2B#a64b6bd7 のHello Worldのプログラムでも、 #include <stdio.h> int main() { printf("Hello World\n"); return 0; } 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 1>C:\Documents and Settings\REI\My Documents\Visual Studio 2008\Projects\new1\Debug\new1.exe : fatal error LNK1120: 外部参照 1 が未解決です。 となってしまい、つまり白紙からプログラム書いた場合、悉くコンパイルできないんだろうな~という結論に至っております。 どうしたらいいんでしょう。

関連するQ&A

  • Borland C++ Builderで簡単なC言語プログラムの作成・実行

    Borland C++ Builderで簡単なCのプログラムを作り実行させるにはどうしたらよいですか? DOS窓上でコンパイルするのではなく、Borland C++ Builderのメニューから行いたいのです。 一応、「ファイル→新規作成→その他→Cファイル」でCのファイルは作成できるのですが、このファイルを「プロジェクト→ユニットのコンパイル」でコンパイルすることができません。 Formオブジェクト(?)を作成しておくとコンパイルできます。 Formは特に必要ないので、FormなしでCのファイルだけをコンパイルしたいのです。 DOS窓でのコンパイル・実行はできます。 事情があってBorland C++ Builderを使わなくてはなりませんので、他のIDEはこの際全く解決になりません。 よろしくお願いします。

  • C++Builderで実行ファイルが作成されない

     C++Builder6で本に載っているHelloWorldサンプルをビルドしたところ、真っ白なタブが出るだけで何も出力されません。Bin下のbcc32でコマンドラインからコンパイルしてみると、objファイルとtdsファイルが出来ていますが、exeファイルは作成されていませんでした。  どうやれば簡単なコンソールアプリケーションをビルドできるのでしょうか?

  • C++Builder XEのコンパイル&実行

    以前C++ Builder5で作成していたプログラム(プロジェクト)を、C++ Builder XEで使うことになり、XEでコンパイルを行った時に出るエラーは全部直し、実行しようと思ったのですが、「コンパイル成功」と出た後に実行画面が出ません。 「実行」を押したときに、コンパイル成功で実行画面が出ない理由には、どのような原因が考えられるのでしょうか? 思い当たる原因があったら、ぜひ教えてください。

  • 実行ファイルの表示

    こんにちは。 ボタンをクリックしたら、Cソールをコンパイルした 実行ファイル(バイナリープログラム)をKylixのフォーム上に 表示させたいと考えているのですが、可能でしょうか? どのようにすればよいのですか? ファイル選択したら新しくウィンドウが生成されるのではなくて、 Imageを貼り付けた中など、指定した場所に表示させたいです。 よろしくお願いします。 Borland社の製品は使い方が似ているようなので、C++builder、Delphiを お使いの方もご教授お願いします。 OS:Red Hat Linux7.2 Softwear:Borland Kylix Open Edition

  • Cのコンパイルができない

    学生です 現在「C 入門の入門」という本を使ってC言語を勉強し始めています この中でプログラムのコンパイルにチャレンジするにあたり #include <sudio.h> main () { printf("C programming"); return 0; } というプログラムを書き、コマンドプロンプトから c:\Source>bcc32 sample.c と入力したのですが、 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample.c: エラー E2209 sample.c 1: インクルードファイル 'sudio.h' をオープンできない 警告 W8065 sample.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** と表示され、コンパイルに失敗しました 参考書によるとCコンパイラの設定ミスであり、bcc32.cfg と ilink32.cfg を設定を見直せと書いてあったので必死に見直したのですが、参考書に書いてあるミスのどれも当てはまらず、何度cfgファイルを書き直しても同じ結果になってしまいました ついでに書いてあったミスとは ・C:\Borland\bcc55にBinディレクトリは存在するか? ・cfgファイルは存在するか? ・ファイルの拡張子は問題ないか?表示されているか? ・記述内容は間違っていないか? の4点です いったい何が問題なのでしょうか? まったくわからないのですが、どなたか思いつく方がいらっしゃいましたらお願いします

  • C++の実行

    Borland C++ Compiler 5.5をインストールして、 コンパイルはできましたが、 exeファイルを実行できません。 どうしたらよいでしょうか?

  • Borland C Builder とOpenCVをリンクしたい。

    Borland C Builder とOpenCVをリンクしたい。 Borland C Builder V5でOpenCV V2.1.0を使おうとこの1週間試行錯誤していますが、やり方がわかりません。 http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio-opencv21 に書かれている通りにOpenCV-2.1.0-win32-vs2008.exeをDLしてCMAKEを実行させたのですが、Build内のbinやlibには何も生成されません。 OpenCV-2.0.0a-win32.exeも試しましたが同様です。 CMAKEはやはりマニュアル通りにソースはc:\OpenCV2.0 ビルドはc:\OpenCV2.0\Buildとし、Configure、ビルドフォルダー作成Yes、Borland Make Fileを選択してパスはdefault native computerにし、Configure、赤表示が出てConfiguring doneが出た後再度Configgure、Generateと操作していますが、結果のBuild内のbinやlibフォルダーには何も出力されませんし。 このCMAKEと言うのを使用するのは初めてで、使い方は分からないのでマニュアルどおり(と思っている方法)で行っています。 系列は違いますが、OpenGLの方はBorland C Builderとリンク出来、サンプルプログラムの実行も成功しております。 今回、OpenCVを使う必要があり、何方か私の操作ミスお分かりの方が居られましたら正しい方法をお教え下さい。 よろしくお願い致します。

  • C言語のコンパイルの設定で詰まっています。

    エディタ:Notepad++ notepad++のNppExecというプラグインを使い、いろいろなサイトとファイルを参考に以下のコマンドを記述しました。 NPP_SAVE CD $(CURRENT_DIRECTORY) C:\borland\bcc55\Bin\bcc32.exe -I -L "$(FILE_NAME)" Console画面には、 Current directory: C:\[フォルダ名] Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland [ファイル名].c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland ================ READY ================ と表示されました。 私には何をやっている文章なのかよくわからないのですが、 .cのファイルはちゃんと保存され、.exe .tds .obj のファイルができているので、コンパイルは成功していると思います。 そこで、 コンパイルしたhogehoge.exeなどをnotepad++上で実行させるためには、どのようなコマンドを記述すればいいのでしょうか? コマンドプロンプトをにbcc32などと記述してコンパイルするのは、面倒に感じるのでどうしてもNotepad上でexeを実行させたいのです。 他のテキストエディタを使う、というのは考えていません。 当方、プログラミング自体、C言語でやっとfor文を覚えたばかりの初心者なので、できるだけわかりやすい言葉で解答をいただけると幸いです。お願いします。

  • OpenCVを Borland C++ Builder で使いたいので

    OpenCVを Borland C++ Builder で使いたいのですが、やり方がわかりません。 実際にOpenCVをBorlend C++ Builderに結合出来た方の回答をお願い致します。 ネットを検索してみたのですが、OpenCV V1 V2.0 V2.1の記事がごっちゃに成っていて、かつVisual Studioの記事が多く、Borlandの記事が余り見つからず、見つかってもOpenCV V1のものです。 出来れば最新の物を使用したいので、OpenCV 2.1を結合しようと思っています。 http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio-opencv21に書かれている通りにOpenCV-2.1.0-win32-vs2008.exeをDLしてCMAKEをBuildMakefilesを選択して Use default native compilersのラジオボタン実行すると、指定フォルダーに色々ファイルが作成されますが、これらを更にどのように加工して行けばBorland C++ builder用のBin h 等のファイルが作成されるのでしょうか。 CMAKE実行後のBuildフォルダー内のbin、libフォルダー内は空でした。 マニュアルによるとVisual Studioの時はOpenCV.slnが作られる事に成っていますが、BuildMakefilesを選択して実行後、*.sinで検索して見ましたが何も見つかりませんでした。 やり方をご存知の方、お教え下さい。 よろしくお願い致します。む

  • コンパイルに失敗しました、と出て実行出来ません

    学校のC言語の講義で http://www.soci.ous.ac.jp/~kuroda/ http://www.soci.ous.ac.jp/~kuroda/second_semi2009/c_pro/weekly_quiz/7th/prog071.zip 先生のHPからC言語ファイルをダウンロードしてから実行するのですが、CPad for Borland C++Compilerでコンパイル+実行を選ぶと「コンパイルに失敗しました、ファイル~~~(実行するファイルです).exeは存在しません。 と出てしまって実行することが出来ません。 どうすれば実行出来るでしょうか? ご存知の方がおられましたら、よろしくお願いします。

専門家に質問してみよう