トップ回答者
ファイルを直接削除

質問
-
初めまして。ド素人です。
昨日からC言語の勉強を始めようと思い、ソースコードを作成し、デバッグ開始というのを押しても即消えてしまい見れなかったので、デバッグなしで開始を押して無事に起動できたんですが、なぜかexeが存在してなくて訳が分からないのでとりあえず一旦削除しようと直接保存先のprojectフォルダに入っているものを削除しました。
その後から、どんなソースを作っても「デバッグなしで開始」→「このプロジェクトは変更されてます。ビルドしますかーはい」
→「ビルド エラーが発生しました。続行して、最後に成功したビルドを実行しますか?-はい」→「プログラム~を開始できません。指定されたパスが見つかりません。」という流れになってしまうようになり、抜け出せません。。
やってみた解決法としましては、「インストールしなおす」、「インストールする前に復元する」の2つです。どうすれば打開できるでしょうか。
回答
-
> デバッグ開始というのを押しても即消えてしまい見れなかったので、
コンソールアプリだと、そのような動作になりますね。
私も出力結果を確認したいときはデバッグなしで起動したり、プロジェクトの設定に hoge.exe > hoge_out.txt と書いたりしています。
> なぜかexeが存在してなくて訳が分からないので
設定を何も変更していなければ、プロジェクトのあるフォルダに Debug というフォルダができているはずです。
その中に exe があるはずですよ。
> とりあえず一旦削除しようと直接保存先のprojectフォルダに入っているものを削除しました。
一体何を消したのでしょう?
全部消したらプロジェクトそのものも消えてしまうので、全部ではないですよね?
> どんなソースを作っても「デバッグなしで開始」→「このプロジェクトは変更されてます。ビルドしますかーはい」
ファイルを変更(削除)したら exe を作り直さなければならないので、この動作は問題ありません。
> 「ビルド エラーが発生しました。続行して、最後に成功したビルドを実行しますか?-はい」
どんなエラーが発生しているのでしょう?
これが分かれば解決します。
デバッグ実行ではなく、ビルドしてみてください。
> 「プログラム~を開始できません。指定されたパスが見つかりません。」
たぶん Debug の中にあった exe が無くなっているのでしょう。
「前回作ったファイルが見つからないよ」と怒っています。
繰り返しになりますが、ビルドエラーの内容が分かれば解決するはずです。
その場合、再インストールの必要はありません。 -
ra-yu さんからの引用 昨日からC言語の勉強を始めようと思い、ソースコードを作成し、デバッグ開始というのを押しても即消えてしまい見れなかったので、デバッグなしで開始を押して無事に起動できたんですが、なぜかexeが存在してなくて訳が分からないのでとりあえず一旦削除しようと直接保存先のprojectフォルダに入っているものを削除しました。
チャレンジャーですね。
消してしまうと元に戻せないかもとか思いませんでした?
こういう場合は、一応、その状態でフォルダ毎他の所にコピーしてそっちを取っておくとかすると
後から書き戻せば、元に戻せるのでその辺は気をつけたほうが良いと思いますよ。
ra-yu さんからの引用 その後から、どんなソースを作っても「デバッグなしで開始」→「このプロジェクトは変更されてます。ビルドしますかーはい」
→「ビルド エラーが発生しました。続行して、最後に成功したビルドを実行しますか?-はい」→「プログラム~を開始できません。指定されたパスが見つかりません。」という流れになってしまうようになり、抜け出せません。。
やってみた解決法としましては、「インストールしなおす」、「インストールする前に復元する」の2つです。どうすれば打開できるでしょうか。
うーん、新しいプロジェクトを作成しても全く同じでしょうか?
今のプロジェクトは置いといて、新規のプロジェクトで作成しなおすわけです。
既に作成していたプログラムが大きな物でないなら最初から打ち直すでも再生できますよね。
その上で新しいプロジェクトでも同じ状態でしょうか。(もちろん消したりしないでですよ)
この時点でうまくいくならVisualStudioが悪いわけでは無いので再インストールまでしなくても良いはず。
問題はprojectのフォルダの中を手で消してしまった事になりますよね。
問題の切り分けを少しずつ進めて行かないとお手上げになってしまうので
少しずつ分解して考えて行きましょう。
ビルドでエラーになると言う話なので必要なファイルを消してしまったんでしょうね。
但し、エラーの内容がきちんと提示されていないので何を消してしまったのかは
全く予想が出来ません。
エラー内容を提示してくれれば、推測くらいは出来ると思うのですが。
どうしても前のプロジェクトが必要と言うわけではないのなら
新しくプロジェクト作り直した方が早そうです。
あと、ファイルを消す時はそのファイルがどんなファイルで何の為にあるのかまで
確認してからにした方が良いです。
すべての返信
-
> デバッグ開始というのを押しても即消えてしまい見れなかったので、
コンソールアプリだと、そのような動作になりますね。
私も出力結果を確認したいときはデバッグなしで起動したり、プロジェクトの設定に hoge.exe > hoge_out.txt と書いたりしています。
> なぜかexeが存在してなくて訳が分からないので
設定を何も変更していなければ、プロジェクトのあるフォルダに Debug というフォルダができているはずです。
その中に exe があるはずですよ。
> とりあえず一旦削除しようと直接保存先のprojectフォルダに入っているものを削除しました。
一体何を消したのでしょう?
全部消したらプロジェクトそのものも消えてしまうので、全部ではないですよね?
> どんなソースを作っても「デバッグなしで開始」→「このプロジェクトは変更されてます。ビルドしますかーはい」
ファイルを変更(削除)したら exe を作り直さなければならないので、この動作は問題ありません。
> 「ビルド エラーが発生しました。続行して、最後に成功したビルドを実行しますか?-はい」
どんなエラーが発生しているのでしょう?
これが分かれば解決します。
デバッグ実行ではなく、ビルドしてみてください。
> 「プログラム~を開始できません。指定されたパスが見つかりません。」
たぶん Debug の中にあった exe が無くなっているのでしょう。
「前回作ったファイルが見つからないよ」と怒っています。
繰り返しになりますが、ビルドエラーの内容が分かれば解決するはずです。
その場合、再インストールの必要はありません。 -
ra-yu さんからの引用 昨日からC言語の勉強を始めようと思い、ソースコードを作成し、デバッグ開始というのを押しても即消えてしまい見れなかったので、デバッグなしで開始を押して無事に起動できたんですが、なぜかexeが存在してなくて訳が分からないのでとりあえず一旦削除しようと直接保存先のprojectフォルダに入っているものを削除しました。
チャレンジャーですね。
消してしまうと元に戻せないかもとか思いませんでした?
こういう場合は、一応、その状態でフォルダ毎他の所にコピーしてそっちを取っておくとかすると
後から書き戻せば、元に戻せるのでその辺は気をつけたほうが良いと思いますよ。
ra-yu さんからの引用 その後から、どんなソースを作っても「デバッグなしで開始」→「このプロジェクトは変更されてます。ビルドしますかーはい」
→「ビルド エラーが発生しました。続行して、最後に成功したビルドを実行しますか?-はい」→「プログラム~を開始できません。指定されたパスが見つかりません。」という流れになってしまうようになり、抜け出せません。。
やってみた解決法としましては、「インストールしなおす」、「インストールする前に復元する」の2つです。どうすれば打開できるでしょうか。
うーん、新しいプロジェクトを作成しても全く同じでしょうか?
今のプロジェクトは置いといて、新規のプロジェクトで作成しなおすわけです。
既に作成していたプログラムが大きな物でないなら最初から打ち直すでも再生できますよね。
その上で新しいプロジェクトでも同じ状態でしょうか。(もちろん消したりしないでですよ)
この時点でうまくいくならVisualStudioが悪いわけでは無いので再インストールまでしなくても良いはず。
問題はprojectのフォルダの中を手で消してしまった事になりますよね。
問題の切り分けを少しずつ進めて行かないとお手上げになってしまうので
少しずつ分解して考えて行きましょう。
ビルドでエラーになると言う話なので必要なファイルを消してしまったんでしょうね。
但し、エラーの内容がきちんと提示されていないので何を消してしまったのかは
全く予想が出来ません。
エラー内容を提示してくれれば、推測くらいは出来ると思うのですが。
どうしても前のプロジェクトが必要と言うわけではないのなら
新しくプロジェクト作り直した方が早そうです。
あと、ファイルを消す時はそのファイルがどんなファイルで何の為にあるのかまで
確認してからにした方が良いです。
-
>>zakioさん
返信ありがとうございます。
今回私が作成したのはwin32 プロジェクトというものでした。
exeが存在していなかったというとちょっと語弊がありました、すいません。実際はexeがdebugに存在してはいたんですけどクリックしても即消えてしまって使い物にならない状態だったんです。そのためにおかしいなーと思い、削除してしてしまったというのが本当の経緯です。
削除したのは、projectファイルに存在していた、「sample1」というプロジェクト名のフォルダそのものです。
ビルドエラーの種類ですが、どうすればエラーの種類を見られるのかを把握してません。。
しかし先ほど打ち込んだコードを変更してみると変化が見られました。。
# include <stdio.h>
int main(void)
{
printf("ようこそC言語へ\n");
return 0:}
(・・・何故か円マークが表示出来てないですが、\の所は実際は¥の半角マークです。)
のreturn 0:って所を削除してみるとデバッグなしで開始すると「ようこそC言語へ」と出てきました。というかよくよく見てみると最後の所が;じゃなくて:になってしまってますね(汗)
下のところを見てみると「error C2143: 構文エラー : ';' が ':' の前にありません。」と表示されていることに気がつきました。もしかすると、ずっと:のまま進めていて何度やっても構文エラーのために実はビルドできておらず、昨日ビルドされたが削除してしまったものをずっと「デバッグして開始」していただけだったのかもしれません。。どうにか解決されたようです。お騒がせしました。。エラーの種類を確認するってことを書き込んで頂いたおかげで、構文エラーに気づけました。どうもです。
しかし、exeは存在するようになったんですが、相変わらずクリックして実行しても即消えてしまいます。タイトルからは反れてしまいますが、元々はそこが原因でしたので、申し訳ないですがよければ御教示お願いします。
-
> 今回私が作成したのはwin32 プロジェクトというものでした。
ソースコードを見る限りでは、多分コンソールアプリケーションだと思います。
コンソールアプリケーションはコマンドプロンプト等から実行されることを想定したアプリケーションです。
> しかし、exeは存在するようになったんですが、相変わらずクリックして実行しても即消えてしまいます。
コンソールアプリケーションをエクスプローラからダブルクリックで実行すると、実行が終わったら消えてしまいます。
これはコンソールアプリケーションの正しい挙動です。
エクスプローラからではなく、アクセサリにあるコマンドプロンプトから実行(cd で Debug フォルダまで移動してプログラム名をタイプ)してみてください。
こうすれば、思ったとおりの動作になると思います。 -
ビルドには2種類(Debug, Release)の構成が用意されています。(追加もできますが、たぶん必要ありません。)
初期状態では Debug になっていますが、色々いじっているうちに Release に変わってしまったのでしょう。
ビルドの構成を Debug に戻せば Debug の下に EXE ができるはずです。
Debug でビルドすると、デバッグの際に必要な情報が EXE の中に埋め込まれます。
コードにブレイクポイントを設定してプログラムを停止させ、変数の中身を見たり関数の履歴をたどったりできるのは、EXE に埋め込まれたデバッグ情報があるおかげです。
ここが混乱の元だと思うのですが、Release 版でもデバッグ実行が可能です。
この場合は Release 版で作られた EXE を使って可能な限りデバッグしようとします。
デバッグ情報が入っていないのでまともなデバッグは難しいのですが、構成のオプションを変更してデバッグ情報を埋め込んだ Release 版をつくればデバッグしやすくなります。(これを Release 版と呼べるかどうかは別問題ですが……。)
長くなってしまいましたが、今見ている Release フォルダに入っている実行ファイルは、デバッグ情報が入っていない Release 版ということです。
デバッグ版はビルドの構成を変更すれば作れます。