- 締切済み
Cygwinをいれました
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4846/10257)
インストールの仕方が悪かったのか、実行の仕方がわるかったのかどちらかでしょう。 ・cygwinサイトからダウンロードしたsetup.exeでインストールして、gcc にチェックを入れてダウンロード&インストールしましたか? ・cygwinインストールで出来るcygwin.batを実行してそこのbashプロンプトから実行していますか?(適切に環境を設定していればCMD.EXEからでも可能ですが)
- tropic_snow
- ベストアンサー率61% (51/83)
・ヘッダファイルがない(インストールされてない) ・ファイルはあるけど、何か変(パスが通ってないとか…) の2通りが考えられそうですが、エクスプローラ等でファイルは確認できますか? ご自分で変更しない限りは、 C:\Cygwin がCygwinのインストール先のようですから C:\Cygwin\usr\include\stdio.h というファイルがあるかどうか。 存在しない場合は、もう一度setup.exeを実行して、+Develの gcc C compiler upgrade helper にチェックを入れて再インストールしてみてはいかがでしょうか。
- secretd
- ベストアンサー率39% (50/126)
1)ちゃんとgccはインストールしましたか? 2)ちゃんとコンパイル時にライブラリを「-lm」と指定していますか?
関連するQ&A
- c言語のコンパイルについて教えてください。
Unixとwindows98を使用しています。 #include<stdio.h> #include<math.h> (以下 省略) と、c言語のプログラムをして、コンパイルを、gcc ファイル名.c と するのでしょうか。 cl ファイル名 -lm とするのでしょうか。 どうすれば良いか、教えてください。 説明が下手で申し訳ございません。 お答えを待ってます。
- ベストアンサー
- C・C++・C#
- cygwin gcc c99 での isnormal と strtold の使用
Cygwinのgccで-std=c99オプションを付けて 以下のコードをコンパイルしようとしています。 #include <stdlib.h> #include <math.h> int main() { isnormal(0.123); strtold("0.123", NULL); return 0 ; } $> gcc -std=c99 test_strtold.c ですが、コンパイルできず、2つの関数とも'undefined reference'になります。 -std=c99を付けてコンパイルする方法または この記述と同等の別の記述がありましたらご教授願います。 よろしくお願いいたします。
- 締切済み
- C・C++・C#
- ヘッダファイルの2重のインクルードについて
ある書物に「ヘッダファイルを複数回インクルードすると、それを”再定義”することによるエラーになる」と書いてありますたが、以下のようなヘッダファイルを作りそれを数回インクルードしても何ら異状が無くコンパイルできました。 math.h→ヘッダファイル名 #define max(a,b) ((a)>(b)?(a):(b))→ヘッダファイルの内容 c ファイル #include<stdio.h> #include"math.h"←複数回インクルード #include"math.h"←複数回インクルード int main(void){ int x=1,y=2; printf("max(x,y)=%d\n",max(x,y)); return 0; } 環境としては、RedHat Linuxでviです。 何ゆえ、エラーにならないのか良く解りません。 宜しくお願いします。
- ベストアンサー
- C・C++・C#
- 分割ファイルのコンパイル
$gcc Bprop.c init.c prop.c state.c head.h main.c memory.c read.c -lm -g 以上のように複数のファイルをコンパイルしたら以下のようなエラーが表示されました。 gcc: compilation of header file requested この場合は自分で作成しているヘッダファイルに問題があるのでしょうか?またヘッダファイル内では以下のヘッダを読み込んでいます。 stdio.h string.h stdlib.h math.h time.h ヒントをよろしくお願いします。
- ベストアンサー
- C・C++・C#
- cygwinでのgcc
畏れ入ります。 UNIXどタコですm(__)m 最近CYGWINで簡単にUNIXが体験できるということで早速インストールしました。 KDEとGNOME無事起動しました。 で、実は図書館で「Xlibで簡単プログラミング」というのを借りてきたので、ちょっと遊んでみようと思いとりあえずc言語がコンパイル、実行できるかどうかやってみたのですがうまくいきませんでした。 #include <stdio.h> int main(){ printf("HelloWorld \n"); } のようなプログラムをvimで作成するところまではうまくいきました。homeディレクトリに作成されていました。 それで gcc hello.c とやればよいのですよね?! 実は文字がたくさん出て、コンパイルできたのかどうか・・・?そして、a.outというファイルができるのですよね?間違っていますでしょうか? とりあえず、できていません・・・(>_<) ./a.out としても、no fileです・・・ なにか間違っていますでしょうか?
- ベストアンサー
- その他(OS)
- なぜgccはstdio.hをインクルードしなくてもprintfが実行できるのか
なぜgccはstdio.hをインクルードしなくてもprintfが実行できるのでしょうか。 暗黙にインクルードされるヘッダと されないヘッダファイルの差分等あれば教えていただきたく。。 // main.c int main(){ printf("SWSW\n") ; return 0 ; } % gcc main.c % ./a.out SWSW
- ベストアンサー
- C・C++・C#
- math.hに含まれる関数が使えない
math.hヘッダーをインクルードして、sqrt()やcos()の関数を使おうとすると、関数sqrt()は定義されていませんとエラーが出て正常にコンパイルできません。 他のヘッダー(stdio.hやstring.hやstdlib.h)の関数は正常に使えてますので、パスの設定は問題ないと思うのですが…… 解決方法はあるのでしょうか?宜しくお願いします。
- ベストアンサー
- C・C++・C#
- cygwinのgccで正常にコンパイルできない。
cygwinのgccで正常にコンパイルできない。 cygwinのvimで、以下のプログラムを書きました。 ------------------------------------------------------------- #include <stdio.h> int main(void) { int no; printf("Please input something:"); scanf("%d", &no); printf("It is %d that you input it:\n", no); return (0); } ------------------------------------------------------------- それからgccでコンパイルしました。 コマンドは以下の通りです。 $ gcc test.c すると以下のエラーが出ました。 test.c:10:9: warning: unknown escape sequence: '\033' このようにコンパイルできない状態です。 どのようにすると正常にコンパイルできるようになるでしょうか?
- ベストアンサー
- C・C++・C#
- 標準ヘッダファイルの中身は何に依存?
stdio.h等の標準ヘッダファイルについて質問です。 HP-UX11.00でコンパイルが通っていたプログラムをHP-UX11.11に移植しようとしているのですが、うまくコンパイルが通りません。 stdio.hを取り込んだ辺りですでにエラーが出ているようなのでHP-UX11.00上のstdio.hをプログラムと同じ階層にコピーして、プログラム内でincludeする際に、静的にコピーしてきたファイルを指定しました。 これでコンパイルをするとエラーが無くなり、動作確認をしてみるとうまく動いているようなのですが、標準ヘッダファイルは、このように違うバージョンのOS上からコピーしてきて使っても平気なのでしょうか? 標準ヘッダファイルの中身は何に依存しているか教えてください。
- ベストアンサー
- C・C++・C#
補足
gcc はあります。なかったら command not found ってでるじゃないですか。出てないです。 こんな簡単なプログラムを作ってコンパイルするとこんな感じです。 #include <stdio.h> main(){ puts("watashiha tensai"); } でgcc -lm b.cでコンパイルでこんな結果。 stdio.hそんなファイルやディレクトリはないって英語ででるだけです。だからinclude フォルダの中に、 stdio.hがないです。