• ベストアンサー

実行後にコンパイルに失敗しましたってどういうことでしょうか。

S117の回答

  • S117
  • ベストアンサー率40% (18/45)
回答No.6

とりあえず、ちょっとだけ用語を説明しておきます。 エディタ:メモ帳(notepad)などのテキストエディタのこと。テキストファイルを作る。 コンパイラ:プログラムの書かれたテキストファイルを読み込んで、コンピュータが実行する、実行ファイル(*.exe)を作る。 CPadはエディタです。LSI C86 3.30試食版 がコンパイラです。 CPadはプログラム開発用のエディタです。コンパイラにテキストファイルを渡したり、コンパイル時に問題が起きると、エラーメッセージを取得してソースの位置を示したりできます。 コンパイルするとき、コンパイラ自体にはファイルを渡す必要がありますので、エディタは一度ファイルを保存する必要があります。これが最初の保存となる場合(新規ファイルの場合)、保存先とファイル名を求められるでしょう(つまり「名前をつけて保存」)。 さて、CPadのメッセージはウィンドウ下部のメッセージ領域に表示されたと思いますが、他にメッセージは出ていないでしょうか? おそらく、 ~何らかのメッセージ~ コンパイルに失敗しました ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在しません という感じになっていると思います。 見つからないファイル名はexe(実行ファイル)であること、「コンパイルに失敗しました」とは別の行にあるなら、別のメッセージであること、そしてこの手のメッセージは、通常はより細かいものが先に表示されることから、最後のファイルがないというメッセージはコンパイラのメッセージではなく、エディタのメッセージと考えられます。 試しに、「コンパイル」でコンパイルだけしてはどうでしょう。 最後のファイルが存在しませんというメッセージが消えるのではないでしょうか。 なお、コンパイルに失敗する原因は「コンパイルに失敗しました」よりも先に表示されているメッセージで示されます。 一度のコンパイルのメッセージ全体の一般的な並びは、 コンパイラの名称やバージョン コンパイルの対象ファイル名 警告メッセージ/エラーメッセージ コンパイルの結果 となります。

gokugokuR
質問者

補足

「コンパイルに失敗しました ファイル"C:Users\owner\Desktop\フリーソフト\Test.exe"は存在しません。」以外のエラーメッセージは出てきませんでした。、実行後、ソースファイルとテキストファイルが作られていました。 コンパイルだけをおこなった場合、メッセージの欄にcannnot excute…LCC.EXEといった記述がありました。 フリーソフトをfreesoftに変えて実行したところ、前述の二つのファイルとEXEの実行ファイルがあり正常に動作していました。 要するに、一度書いたプログラムを保存し、コンパイラに読み込ませて実行させているということなのでしょうか。 だとすると、テキストファイルとソースファイルの二つを作る意味というのはどういうことなのでしょうか? 質問とは関係ありませんが、教えていただけるとありがたいです。

関連するQ&A

  • #defineで置き換えられない

    C言語です。詳しい方、よろしくお願いします。 下記のプログラムをコンパイルして実行したら、画像のようになってしまいます。 コンパイラは、CPad for LSI C-86 ver2.31です。 #include<stdio.h> #define clr() printf("\x1b[2J") void main(void) { while(1){ clr(); printf("test"); } } #defineがどうも置き換えられていないようです。 詳しい方、考えられる原因を教えてください。 よろしくお願いします。

  • CPad for LSI C-86の実行結果

    こんにちは 現在コンパイラLSI C-86試食版と CPad for LSI C-86を使ってC言語を勉強しているのですが 何故か実行結果が表示される時とされない時があります。 内容は以下の簡単なものです。 #include <stdio.h> int main(void) { printf("Hello,world\n"); return 0; } ファイルを開いた直後などは実行結果が表示されることが多いのですが 大半(2/3ほどの確率で)の実行結果では C:\Program Files\~~~ -- Press any key to exit (Input "c" to continue) -- としか出ません。 使用OSはWindowsXPで 設定→コンパイラのパス のところと 高度な設定→実行するコマンド のところは FAQに従っています。 一体どこがおかしいのでしょうか? 回答よろしくお願いします。

  • WindowsでコンパイルできるがUNIXではできない

    下記のプログラムは、2^-0.94を計算するものです。 このプログラムはwindows2000のマシンでコンパイルできるのですが、UNIXのマシンだと Unresolved text symbol "pow" というエラーがでてコンパイルできません。 UNIXのマシンは「cc ファイル名」でコンパイルを実行します。 どうすればコンパイルできるようになるのでしょうか。お手数ですが、教えてください。よろしくお願いします。 ※windows2000マシンのコンパイラ:Borland C++ Compiler 5.5 #include <stdio.h> #include <math.h> int main() { int a; double b,c; a=2; b=-0.94; c=pow(a,b); printf("%lf\n",c); return 0; }

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

    学校の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は存在しません。 と出てしまって実行することが出来ません。 どうすれば実行出来るでしょうか? ご存知の方がおられましたら、よろしくお願いします。

  • 【エラー】Cpadで初めてコンパイル

    Cpad for Borlandで以下のようなソースを書きコンパイルをしましたが、失敗し、行き詰っております。 当方、初プログラミングに挑戦しております。 <環境> OS:XP(HOME) コンパイラ:Borland C++ Compiler エディタ:Cpad for Borland <動作状況> ソース: #include <stdio.h> int main ( void ) { printf(mori); return 0; } エラー情報: 「コンパイルに失敗しました。 ファイル"ファイル"D:\source\test1.exe"は存在しません」 参考情報(参考にならないかもしれませんが…): ・コンパイラはDドライブにインストールしております。 ・コンパイラのパスはD:\borland\bcc55\Bin\bcc32.exeです。 以上、よろしくお願いいたします。

  • コンパイルできない

    c言語をはじめたばかりの初心者です。"typ.c"というソースファイルをメモ帳でつくって、コマンドプロンプト上でコンパイルしようとしたのですが、うまくいきませんでした。typ.cファイルの内容は *typ.c*/ #include <stdio.h> #include <stdlib.h> /*for exit()*/ int main(void) { FILE *fin, *fout; char buf[256]; char filename1[80], filename2[80]; printf("入力ファイル名="); gets(filename1); printf("出力ファイル名="); gets(filename2); fin = fopen(filename1, "r"); if (fin == NULL){ printf("%sをオープンできません\n", filename1); exit(1); } fout = fopen(filename2, "w"); if (fout == NULL){ printf("%sをオープンできません\n", filename2); exit(1); } while (fgets(buf, 256, fin) != NULL){ fputs(buf, fout); } fclose(fin); fclose(fout); return 0; } となっています。 いざコマンドプロンプト上でコンパイルしようとすると  C:Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(189) : error C20 27: 認識できない型'PostAttribute'が使れています。 c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(71) : 'PreAttribute'の宣言を確認してください。 という注意書きが大量にでてきて最後に C:Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(239) : fatal err or C1003: プログラム内のエラーが100個を超えました。コンパイルは中断されます。                         となってしまいます。 使っているOSはwindows vista で コンパイラはMicrosoft Visual C++ 2008 Express Edition です。 どうしたらよいのかわかりません。 どうか教えてください。 説明に不足があればまた足しますのでよろしくお願いします。

  • C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると

    C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると結果が130固定となってしまいます。 #include <stdio.h> #include <stdlib.h> int main(void){ int x; x = rand(); printf("%d",x); return 0; } 使っているコンパイラはBorland C++ 5.5.1です。何か間違いでもあるのでしょうか?よろしくお願いします。

  • 他の実行ファイルを実行するプログラム

    他の実行ファイルを実行するプログラムを作りたいです。 わかりにくいと思うので例を書いて説明します。 まずhello.cというプログラムがあったとします。 中身は -hello.c----------------- #include <stdio.h> main(){ printf("Hello!\n"); } -------------------------- これをコンパイルしてできた実行ファイルを他のプログラムから呼び出す?実行したいんです。 説明が下手ですいません(>_<) たとえば新しくexe.cというプログラムを作ります。 このexeを実行するとhello.exeが呼び出されて 結果的にhello.cの中身が実行されるような exe.cを作りたいです。 初歩的な質問ですいません。 どなたかアドバイスいただけないでしょうか(>_<)

  • コンパイル失敗と表示されましたがどこが間違っているでしょうか?

    インターネット上のC言語入門講座で例題どうりにコンパイラーに入力したつもりなのですが[コンパイルに失敗しました。]と表示されてしまいどこが間違っているのか分かりません。詳しい方教えてください。 #include<stdio.h> void main() { int count; for (count = 0; count < 5; count++) { printf("countは今%dです\n", count); } if(count == 4){ printf("正解は4でした\n"); }else if(count == 5) { printf("正解は5でした\n"); }else { printf("4でも5でもありませんでした\n"); } }

  • bcc コンパイルしたファイルが実行できない。

    sea_clear_skyです。 環境 BCC55コンパイラ OS XP SP3 hello worldと表示させるプログラムは、コンパイルして、コンソールで表示させることはできるのですが、MYSQLに接続して、 データを表示させるプログラムは、コンパイルして、リンクして、 EXEファイルを作れるのですが、そのできたEXEファイルを実行しようとすると、問題が発生したため、ファイル名.EXEファイルを 終了しますと表示され、コンソール画面に何も表示されません。 以前は、mysqlに接続させて、コンソールに表示させることは できました。BCCコンパイラを標準コンパイラにしたりできるのでしょうか? VC++ C#.NETも使用しています。 この二つのコンパイラとBCCは共存できないのでしょうか? よろしくお願いします。