C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: Cygwinを使用して、gccを使ったコンパイルを行いたい
(過去ログ 83 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■48991
/ inTopicNo.1)
Cygwinを使用して、gccを使ったコンパイルを行いたい
▼
■
□投稿者/ うず
(1回)-(2010/04/20(Tue) 09:17:23)
分類:[.NET 全般]
2010/04/20(Tue) 09:18:49 編集(投稿者)
Cygwinを使用して、gccを使ったコンパイルを行いたいです。
CygwinをインストールしたOSはWindows XP(SP2)です。
下記サイトの情報を参考にして、test.cを作成→コンパイルしました。
http://programnet.hp.infoseek.co.jp/coloum/cygwin3.html
コンパイルしたことでtest.exeが生成されていることは確認できました。
問題は、Cygwin上でプログラムを実行するときです。
ソースコードには、
printf("Hello World\n");
という命令を記述したのに、プログラムを実行しても表示されないのです。
プログラムが実行していないのか、単に文字列が表示されないのかわかりません。
[現象]
1. Cygwinを使用
testディレクトリ上で「test」コマンドを入力しても
"Hello World"の文字列が表示されない
2. コマンドプロンプトを使用
testディレクトリ上で「test」コマンドを入力すると
"Hello World"の文字列は表示される
cygwinを使用したとき、
gccでコンパイルしたプログラムが動作しない
(もしくは、文字列が表示されない)のは
どのような原因が考えられますか?
また、どのような点を確認したらよいか、対処法を教えてください。
よろしくお願いします。
引用返信
編集キー/
編集
■48992
/ inTopicNo.2)
Re[1]: Cygwinを使用して、gccを使ったコンパイルを行いたい
▲
▼
■
□投稿者/
επιστημη
(2483回)-(2010/04/20(Tue) 09:44:15)
> cygwinを使用したとき、
> gccでコンパイルしたプログラムが動作しない
> (もしくは、文字列が表示されない)のは
> どのような原因が考えられますか?
./test
って叩いてみ。
# cygwinのシェルはカレントdirを実行pathの候補としないんでないかな?
引用返信
編集キー/
編集
■48994
/ inTopicNo.3)
Re[1]: Cygwinを使用して、gccを使ったコンパイルを行いたい
▲
▼
■
□投稿者/ よねKEN
(478回)-(2010/04/20(Tue) 09:54:03)
2010/04/20(Tue) 09:56:20 編集(投稿者)
よく"はまる"ところですね。
私も昔、UNIXではじめてCプログラムを作成したときに、
同じ罠にはまったことがあります(^^;
■
No48991
(うず さん) に返信
> cygwinを使用したとき、
> gccでコンパイルしたプログラムが動作しない
> (もしくは、文字列が表示されない)のは
> どのような原因が考えられますか?
実験的なプログラムの意味で、test.cというファイル名にしてしまいがちですが、
この時点で落とし穴に片足を突っ込んでしまっています。
UNIX系の環境にはtestコマンドというものがあります。これと名前がかぶっています。
環境変数のPATH設定にカレントディレクトリは入っていないのが一般的なので、
単にtestと打ち込んだ場合、こちらのコマンドが実行されます。
自分の作ったtestプログラムを実行したい場合は、επιστημη さんのコメントの通り、
カレントディレクトリのtestだよ、と命令して挙げればOKです。
引用返信
編集キー/
編集
■48997
/ inTopicNo.4)
Re[2]: Cygwinを使用して、gccを使ったコンパイルを行いたい
▲
▼
■
□投稿者/ うず
(2回)-(2010/04/20(Tue) 10:12:25)
回等ありがとうございました。
カレントディレクトリが原因なんですね。
Windowsの環境設定で、PATHの部分にカレントディレクトリ(C:\cygwin\home\(ユーザ名))を指定すれば
>testコマンド
test.cをコピーしてtest2.cという名前にし、test2.exeを生成しました。
test2と打ち込んでも「bash: test2: command not found」と出力されました。
testのときは何も表示されなかったので、何かが違うと思っていましたが
testコマンドと混同していたためだったのですね。覚えておきます。
引用返信
編集キー/
編集
■48998
/ inTopicNo.5)
Re[3]: Cygwinを使用して、gccを使ったコンパイルを行いたい
▲
▼
■
□投稿者/ うず
(3回)-(2010/04/20(Tue) 10:12:52)
解決済み忘れていました。
解決済み
引用返信
編集キー/
編集
■49000
/ inTopicNo.6)
Re[3]: Cygwinを使用して、gccを使ったコンパイルを行いたい
▲
▼
■
□投稿者/ 渋木宏明(ひどり)
(1307回)-(2010/04/20(Tue) 11:08:27)
> カレントディレクトリが原因なんですね。
No.
>UNIX系の環境にはtestコマンドというものがあります。これと名前がかぶっています。
が、直接の原因。
> Windowsの環境設定で、PATHの部分にカレントディレクトリ(C:\cygwin\home\(ユーザ名))を指定すれば
て対処だと、test.exe が C:\cygwin\home\(ユーザ名) にある時「だけ」にしか期待通りの結果が得られないんじゃないかと。
> test2と打ち込んでも「bash: test2: command not found」と出力されました。
> testのときは何も表示されなかったので、何かが違うと思っていましたが
> testコマンドと混同していたためだったのですね。覚えておきます。
も
./test2.exe
とするのが、正しい対応のように思います。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-