dポイントプレゼントキャンペーン実施中!

畏れ入ります。
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です・・・
なにか間違っていますでしょうか?

A 回答 (5件)

おかしいな!


私は、http://cygwin.com/
から、ダウンロードしたものでテストしたのですが。残念ですね。Linuxとなると、新たな問題もでるので、出来れば、Windowsの環境で、とりあえずは、Linuxの勉強の方がお勧めなのですが。

.bash_profile
でもいいのですが、.bash_profileが無い場合には、.bashrcを読み込むのが、Linuxのブートシーケンスなのですが。違いは、ログインするときには、.bash_profile、シェルが起動する、この場合は、bash(Bourne-Again Shellの略)が起動されるときに、読みこれるのが、.bashrcなんですよ。したがって、どちらか一つでも可能なのですが。

また、混乱させますが、お勉強するのであれば、システムに影響のない、KNOPPIX(よく、Linux系の雑誌に付録で付いています。非常に最近のリリースです。私は、日経Linux4月号の付録-Version 3.1を用いて、Windowsに最新版(Version 3.2)をダウンロードして、KNOPPIX3.1の機能を用いて、ISO 9660イメージをCDROMに焼きました)。GCCや、VIMも利用可能で、ほとんどの、ハードウエアを認識します。もちろん、フリーです。そして、日本語環境です。ハードディスクもマウントできます。

お勉強のためなら、いくらでもお付き合いしますよ。
参考に、私のcygwinの、.bashrcを貼り付けます。

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export SHELL=/bin/bash
export HOME=/home/XXXXXX (X:編集しました。)
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix

PATH=/usr/local/sbin:/usr/sbin:/sbin:.:~/bin
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:$PATH
PAGER=less
JLESSCHARSET=japanese-sjis
export PATH PAGER JLESSCHARSET

PS1="$HOSTNAME:\w$ "

if [ -n ${DISPLAY} ]; then
export DISPLAY=localhost:0.0
fi

if [ ! -n "${TERM}" ]; then
TERM=cygwin
fi

alias ls="ls -aFh --color=auto"
alias la="ls -aF"
alias ll="ls -l"

この回答への補足

ああ、すいません!

ちなみに再インストールでコンパイルが出来るようになりました!

何が問題だったのでしょうか・・・
出来れば解決したかったです(~_~)

補足日時:2003/04/21 11:51
    • good
    • 0
この回答へのお礼

何度もありがとうございます。
大変ためになりますm(__)m

さて、クノーピクスですが、すでにためし済みです。
実はハードは4台所有で、(そのうち一台は抜け殻ですが・・・)うち3台は起動不能・・・でした。
一台目はNECのVS23Dで、LINUXがうまくインストールできない代表でした(結構検索で引っかかりますよ)簡単に言うとキーボードがUSBであることに起因していて、ほとんどのサイトでは「USBレガシーを無効にすればよい」とありますが、そうすると今度は、キーがまったく受け付けなくなり言語を選ぶ段階で選択できずに結局だめ・・・。でも、TurboLINUXだけはあるサイトで「VSシリーズ専用ブートディスク」を提供してくれている人がいてそれを使えばインストールできました。で、このPCの音源はOTIといってこれまた、古いのにLINUXでサポートされていない代表格で(トホホ)VSでは音が鳴らないと結構有名です。あるサイトで、「OTIでcdからの音を鳴らすのに成功」なんてありましたがまだ確認していません。クノーピクスですがやはりカーネルの構築の初期段階でストップ、だめなようです。
2代目はvaio505です。ノートです。実はオプションを指定すれば良いらしいのですが、結局そのとうりにやってみましたが、同じところでストップ、断念しています。
3台目が自作(といってもベアホーン)で唯一PS2端子があるものです。これだと起動できました・・・が、画面表示が・・・横長で、右と左が見えません・・・
実はこの不具合はこのモニタではウィン98をクリーンインストの場合にもでる問題で(ドライバを当てれば直る)LINUX特有の問題ではないと認識しています。おそらくリフレッシュレートとかを選択しなおせば良いのでは・・・。と思っていますが、まだやっていません・・・というか良くわからない・・・やり方が・・・かなりドタコです・・・

お礼日時:2003/04/21 11:50

ディフォルトで導入したのですよね!



私も、cywwinのファイルのストラクチャについては、良く分からないのですが、私の環境と少し異なります。

ライブラリィーが参照できなくて、ライブラリーのリンクができないために、エラーになっているようです。

ちなみに、私のcygwinでは、

/usr/lib/gcc-lib/i686-pc-cygwin/3.2
のようになっています。

/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../..libcygwin.a(pseudo-reloc.o)(.text+0x49):

libcygwin.aは、
/lib/libcygwin.a
/usr/lib/libcygwin.a
として、存在します。

パスなどの環境変数は、ユーザホームのディレクトリィの.bashrcで記述されます。
$ ls -la
で、.bashrc(実は、隠しファイル)を表示、catや、moreで内容を参照できます。

あまり、深刻な問題ではないと思いますよ。頑張りましょう。

環境をペーストしたいのですが、通常のUnixの環境のように、3ボタンマウスでペーストできいので諸裏約します。

この回答への補足

うーーん・・・

だめみたいです・・・

というか、まず.bashrcがないようです。
隠しファイルだからかなと
vi ~/.bashrc

とためしに編集すれば出るかと思ったら
newfile
と出ます。つまりない、ということですよね?!

いろいろ調べましたところ
「Cygwinを起動すると、.bashrcが読み込まれない。これは、起動時は.bashrcではなく.bash_loginが読み込まれるため。」
とありました・・・しかしこの、.bash_loginもありません・・・

あるのは、.bash_history、.bash_profile、.bashrc.swpです。
libcygwin.aはエクスプローラでみたところ
/cygwin/lib/libcygwin.a
に存在しているだけです。
ここにパスをとうすんですよね・・・

補足日時:2003/04/20 22:01
    • good
    • 0
この回答へのお礼

何回もありがとうございました。
結局再インストールしてしまいました(-_-;)

何とか直したかったのですが・・・

今度は普通にLINUXインストールして使ってみます

お礼日時:2003/04/21 01:28

コンパイルエラー(正確にはリンクエラー)ですね。


undefind reference toが出ていればリンクエラーです。

通常出ないと思うので、cygwinインストールしなおしかな。
    • good
    • 0
この回答へのお礼

ありがとうございます
それが手っ取り早そうです

お礼日時:2003/04/21 01:27

できたよん~。

もう寝る時間を過ぎたよ。

viでやったけど、vimと同じ。
$ gcc hello.c
$ ls
$ a.exe hello.c
$ ./a
(多分パスを通していないないので、とりあえず)
HelloWorld

問題ないよ。

a.outでも表示されるんじゃないのかな。
$ ls -la
で、a.outの属性を確認してみたら。
-rwxrwxrwx
$ gcc --help
で、gccのオプションみられよ。

ojinは、No.1氏のようなプログラム専門家じゃないから、内容はあてにしないでね!
CD-ROMブートのKnoppixも勉強のために面白いよ。

この回答への補足

夜遅くまでありがとうございますm(__)m

ls -la

とすると、hello.cはあるものa.exeはないみたいです(>_<)
実は
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../..libcygwin.a(pseudo-reloc.o)(.text+0x49):undefind reference to `__RUNTIME_PSEUDO_RELOC_LIST'
cygwin/3.2/../../..libcygwin.a(pseudo-reloc.o)(.text+0x51):undefind reference to `__RUNTIME_PSEUDO_RELOC_LIST_END__'
num_of_bfd=37 num_of_left_bfd=37 whole_size=0 whole_reduced_size=0

collect2: ld retrnde 1 exit status


と出るんです・・・
コンパイルエラーなんでしょうか??

補足日時:2003/04/20 09:07
    • good
    • 0

出来ているとしたらa.exeですよ~。

    • good
    • 0
この回答へのお礼

ありがとうございます・・・


出来ていないようです・・・

お礼日時:2003/04/20 09:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!