[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 01/06 13:57 / Filesize : 237 KB / Number-of Response : 832
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin + MinGW + GCC 相談室 Part 3



1 名前:デフォルトの名無しさん [2007/04/30(月) 23:52:47 ]
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
cygwin + mingwn + gcc 相談室 Part2
pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
pc8.2ch.net/test/read.cgi/tech/1058134693/

関連サイト:
Cygwin www.cygwin.com/
MinGW www.mingw.org/

関連スレッド:
GCCについて part7
pc11.2ch.net/test/read.cgi/tech/1145357824/
【激遅】AppleGCC【絶望】
pc11.2ch.net/test/read.cgi/tech/1173267844/


411 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:11:52 ]
探したら pc11.2ch.net/test/read.cgi/tech/1148393695/ にいた…
>>409
基本的に広い範囲で移植性を確保しようと思ったら大変なのはどのツール使っても同じなの
はその通りなんだけど、どの程度の移植性が欲しいのかってところかな?
autotools使うなら本でも読んでじっくり取り組んでくれ。
- www.amazon.co.jp/Autoconf-Automake-Libtool-Gary-Vaughan/dp/4274064115/
あまり出来のいい本でもないけど…

412 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:30:35 ]
>>411
基本的には
Windows(cygwin), Linux, FreeBSD, Mac
あたりで使えれば嬉しいのですが。
あまりマイナーな環境に対応するのは大変ですしね。
いい環境が見つかるまでは、マニュアルと本でがんばりたいと思います。

413 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 10:20:29 ]
WXCXXFLAGS="`wx-config --cppflags`"
・・・ではないのかな 試してないけど
俺なら AC_PATH_PROG で wx-config あるかチェックするかな

414 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 15:12:07 ]
>>413
ありがとうございます。ただ、それでもダメでした。
(>>409のWXCXXFLAGSはWXCPPFLAGSの間違いでした。すみません)

Makefile.inを見ると変数自体はちゃんと出力されているのですが
その中身がどうも空のようです。
Makefile.amではどちらか分からないので
一応@WXCPPFLAGS@と$(WXCPPFLAGS)の両方の形式で出力させています。

415 名前:414 mailto:sage [2008/01/02(水) 16:27:37 ]
テストプログラムを作成しました。
原因の分かる方いましたら、是非教えてください。

www.uploda.org/uporg1184897.tar.html

416 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 17:00:06 ]
>>415
configure.ac の中身
WXCPPFLAGS=`wx-config --cppflags`
- 変数と'='の間にスペースは入れない
- 展開はバッククォート
普段UNIXライクOS使ってないならアレだがシェルスクリプトの基本を勉強する必要があるかも

417 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 17:02:34 ]
>>415
そうそう Makefile.am の方は @WXCPPFLAGS@ でよくて $(WXCPPFLAGS) はいらない

418 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:37:44 ]
>>416-417
できました!
やっとコンパイルに取りかかれそうです。
ありがとうございました。

419 名前:デフォルトの名無しさん [2008/01/04(金) 07:52:12 ]
>>418
Net BeansIDE V6 R3を実装し、C/C++コンポーネントのアドイン指定をし、
Cygwin言語処系gmake,g++,gcc等をインストールし、 Net BeansIDEを起動
することにより、自動でビルド環境が出来るじゃん。
まあ、autoconf automake の勉強するつもりならこんなやり方は為にならんが。
まあ、学生さんだったら時間あって勉強がてらハンドでやるのも良いんだろうけどw
よく考えたら、正月だったのか。じゃあ時間作れそうだな。






420 名前:419 [2008/01/04(金) 07:58:25 ]
こっちの方が正確だったな
ja.netbeans.org/
Net BeansIDE V6 R3→表記ミス

組込系なら制約が有るかもしれんな。
ま、その辺り臨機応変にな。

人間がやるより早いぞ。

421 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 09:54:43 ]
>>419
本人はVC使ってて他の環境(LinuxやFreeBSD)で容易にコンパイルできるように
autotoolize してるって書いてあるだろ…
そこで Cygwin + NetBeans 勧めても…

422 名前:デフォルトの名無しさん [2008/01/04(金) 21:04:54 ]
>>421
奨めないとPGままだろ?
ソフトウェア開発技術者とPGは違うぞ。
コンポーネントプログラミングの妙技も味わって貰わないとなw

423 名前:デフォルトの名無しさん [2008/01/04(金) 21:21:17 ]
>>421
autotoolizeって何?

スペルミスするくらいならオーソライズって書けよw


424 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 21:25:18 ]
>>423
autoconf/automake 使って
./configure && make all && make install
って, やればインストール出来るようになってる
という意味ではないのか?


425 名前:デフォルトの名無しさん [2008/01/04(金) 21:45:50 ]
>>424
個人の造語を空想で断定しては恥かくだろう?
俺はレスの文脈からオーソライズと認識したまで。
何ならそのスペルで英和辞典なりコンピュータ用語事典を
探して見たら良い。
一生掛かっても見っからないことは断言できる。
ま、そんなチンケな話で揉めても仕方ないのでここで
ペンを置く。


426 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:07:03 ]
うるせーよググれカス

427 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:08:42 ]
>>425
レスの文脈からautotool-izeとしか認識できなかったがな。
オーソライズってのはauthorizeのことか?だとしても意味が通らんな
もっと文脈読まないと恥かくぞ?

428 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:11:01 ]
>>417
その情報は古い。
Makefile.amでは、$(WXCPPFLAGS)と書くのが今風です。
Makefile.inでよきに計らってくれるので。

そうすると、$ make WXCPPFLAGS="-I/anotherdir/include"
なんかが使えます。

429 名前:デフォルトの名無しさん [2008/01/04(金) 22:13:26 ]
>>427
ふふ、暇なオジンやな?
本件にレスして道ズレにしようちゅう魂胆かなw
まあ、おまえが口べただと言うことは良く解った。ググった上でのレスだw>>426




430 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:22:17 ]
冬休み学生のへたくそな煽りにわざわざ釣られるなよ…

431 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 23:13:08 ]
>>423
これほど「プギャー(AAry」を貼りたくなったレスは初めて見た希ガス。

432 名前:デフォルトの名無しさん [2008/01/05(土) 01:06:06 ]
世代間ギャップだろw

433 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 01:14:29 ]
>>425
この辺を理解して出直してこい
www.catb.org/~esr/jargon/html/construction.html


434 名前:デフォルトの名無しさん [2008/01/05(土) 02:27:02 ]
↑この粘着馬鹿きも

435 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 08:05:03 ]
お前も十分粘着だよ。

436 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 10:25:14 ]
ageてる人はわかりやすくて良いな

437 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 13:13:44 ]
4+3=7

438 名前:デフォルトの名無しさん [2008/01/05(土) 17:53:22 ]
新年から運営バイト乙
さくらも必要だからな2ちゃんにはw

車 寅二郎

439 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:17:23 ]
To you cotton I dead no death she.



440 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 10:13:59 ]
最近気づいたんだけど、速いCPUでCygwinのgcc使ってコンパイルするより、
遅いCPUでLinuxのgcc使ってコンパイルしたほうが速いのね・・・
体感的にはCygwin@X2 3800+ < Linux@CelD 2.4GHz, Cygwin@CelD 2.4GHz < Linux@P3 900MHzくらい
-pipeつけたらちょっとマシになったけど、それでもやっと同じくらい。
やっぱstat(2)とかが効いてるのかね?

441 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 10:39:27 ]
Windowsはプロセスの起動が遅いうえに
Cygwinでエミュレートまでしてるからかなり遅くなると思うよ

442 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 11:50:41 ]
cygwinと比較してる時点でバイアス満載。

443 名前:デフォルトの名無しさん [2008/01/06(日) 12:14:27 ]
MinGW使え

444 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 12:29:43 ]
普通は、fgetc()をループで回してもfgets()やfread()を使っても(I/O速度で制限されるので)大差ない時間で処理できるが、
cygwinに限っては、fgetc()版は遥かに遅くなってしまうからね。

445 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:35:36 ]
なんで?

446 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:02:26 ]
エミュレートしているからでしょ。

447 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:26:53 ]
それはfgetcが遅くてfreadが遅くない理由にならなくね?

448 名前:デフォルトの名無しさん [2008/01/06(日) 19:02:11 ]
>>447
なんでそう思う?

449 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:13:11 ]
cygwinはファイルの読み書きは特に重いよね。MinGWにすると凄い速くなる。



450 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:35:46 ]
>>447
freadも遅いがエミュレート+ループでfgetcが遥かに遅い理由にならなくね?

451 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:47:21 ]
fread()一回では、エミュレートのオーバーヘッドは1回分であることが期待できる。
多くても、BUFSIZごとに1回だろう。
fgetc()では、毎回の呼び出しごとにオーバーヘッドが発生する懸念がある。
ungetc()のために毎回余計に読み込まなくてはいけないと言う事情がこれに拍車を掛けるだろう。

452 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:18:40 ]
そゆのってオーバーヘッドのかからない層で
バッファリングすると思うんだけど・・・。

453 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:21:49 ]
いや、そうじゃないからこそ、cygwinのエミュレーションは問題だといっている。

454 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:18:45 ]
MinGWのgccやg++は、標準ヘッダの検索パスをどこで決めているんでしょ?

c:\mingwにインストールしたときはbinのpathを通すだけでコンパイルできたソースが、
j:\!repos\softwares\mingwにインストールしたときはbinのpathを通すだけだと、
no include path in which to search for stdio.hとか言われる。
C_INCLUDE_PATHやCPLUS_INCLUDE_PATHを設定すればいいみたいだけど・・・。


455 名前:デフォルトの名無しさん [2008/01/06(日) 22:19:31 ]
>>443
MSYSもいっしょに

456 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 03:31:02 ]
>>451
ソースを読んでどこが悪いとか具体的に確信を持って言ってる?
なんか勘違いしてる気が…

457 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 05:35:00 ]
そのへんを計測してみた人どこかにいないかな

458 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 06:23:28 ]
なんかどっかのスレでも書いた気がするけど
俺のVista(HPx64)でMSYSちゃんが上手く動いてくれない

459 名前:デフォルトの名無しさん [2008/01/07(月) 10:14:15 ]
XPならHomeでもおk



460 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 10:27:17 ]
MSYS1.0.10に1.0.11の何か上書きしたらイケましたわ。

461 名前:デフォルトの名無しさん [2008/01/07(月) 13:00:45 ]
使いもしないツールを多く含んだメタボ気味なコンパイラ使うより
いいかもね

462 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:20:59 ]
少しスレ違いかもしれませんが質問させてください。

環境は、
MinGW 5.1.3
MSYS  1.0.10

自前のC++ソースをビルドしようとすると、
こんな感じのシンボル未定義のメッセージが並んでリンクエラーになります。
foo.cpp:(.gnu.linkonce.t._ZNK11foo16hogeERKSt6vectorIdSaIdEEj+0x14a) : undefined reference to `_cxa_begin_catch'

nmで見るとlibstdc++.aが必要なようですが、-lでばっちり指定しています。
./libstdc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
./libsupc++.a:eh_catch.o:00000000 T ___cxa_begin_catch

何が原因なんでしょう。。打つ手なしっす。

463 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:33:27 ]
-lの方が先に指定されていたりはしないよね?

464 名前:462 mailto:sage [2008/01/09(水) 01:08:24 ]
>>463
-lstdc++を一番後ろに置いてます。
not foundが出るわけではないのでライブラリは見つけてるはずなのですが、、
コンパイラのインストールからやり直すべきなのでしょうか?

465 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 01:13:59 ]
g++コマンドでリンクすりゃ、libstdc++を明示する必要はないはずだが。(勝手にリンカに適切なオプション渡してくれる)

466 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 01:31:54 ]
>>465
一度g++に切り替えて試したときもlstdc++を付けたままで、まったく同じエラーが出ました。
早速明日外してやってみます。

467 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 01:52:52 ]
>>462
アンダースコアの数が違うからリンクできるように見えない。
マップファイルとかアセンブリのソースとか確認しないとわかんないね。

468 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:12:22 ]
バージョンが合ってないとか

469 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 22:14:59 ]
C/C++の開発環境を整備:MinGWとEclipse CDT
builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20364539,00.htm



470 名前:デフォルトの名無しさん [2008/01/13(日) 16:32:21 ]
UACが有効なVistaでcygwin使うとき、sudoみたいに管理者権限を動的に(必要なときに)与えるようにしたいんです。
ここで間違えないで欲しいのは、実行したユーザーが属するAdministratorsが保有するACL管理下の権限であって、Administratorの強制執行権限ではありません。
引数をコマンドとして実行するだけのプログラムにマニフェストを組み込んでもcygwinから実行するとNo permissionでキャンセルされます。
runasではadministratorでの実行は可能ですが、条件に合いません。
何かいい方法は無いでしょうか?

471 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:36:11 ]
VisualStudio, gcc, vim, Cygwinで開発しています。
MinGWというのは使ったことがあるのですが、メリットがよく分かりませんでした。
上記の開発ツールに加えてMinGWも使うとしたときのメリットにどんなものがありますか?


472 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:46:31 ]
Cygwinというのは苦肉の策であって、
例えばパス名の区切りがスラッシュになるなど、環境との親和性に問題がある。

VisualStudioはアクチがあり、法外に高額で、
かといってラーニングやスタンダードはライセンスにいろんな制約がある。
ただしカネがあるなら最適化他の面で圧倒的に有利だ。

gccってNTリソースパックのgcc?
NTのPOSIXサブシステム用はOSの汎用性がない。

MingWは完成度さえ高ければ素晴らしいのだがw
ハローワールドで数メガとか恐ろしいことになったりするw

473 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:18:13 ]
>>471
その列挙の意味がよく分かりませんが、VSとcygwin上のgccとvimを併用してると解釈します。

ja.wikipedia.org/wiki/MinGW#Cygwin.E3.81.A8.E3.81.AE.E6.AF.94.E8.BC.83
↑cygwinとmingwの比較です。2つは哲学が異なります。

cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)のでwindows向けの開発であれば避けた方がいいかもしれません。
しかし、cygwinにmingwが包括されています(詳しい位置づけはよく分かりませんが)。
dllの不要化やWindows APIの利用も可能です。cygwinとmingwを併用する利点はあまり無いと思います。


474 名前:471 mailto:sage [2008/01/13(日) 22:58:52 ]
>>472
ありがとうございます。

Win32を使ったアプリを作らないせいか、環境とし親和性はあまり意識いたことないです。
やはり、Win32APIを使うと問題になってきますか。
VS Express 2005のフリー版を使っています。
gccはCygwin上のgccです。

>>473
リンクありがとうございます。

> VSとcygwin上のgccとvimを併用してると解釈します。
そうです。わかりにくくてすみません。

> しかし、cygwinにmingwが包括されています
それは初耳です。cygwinを使っていれば、mingwと同じかそれ以上の
ことが出来るということですか。

> cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)ので
> windows向けの開発であれば避けた方がいいかもしれません。

windows向けの開発をする予定があるので、今からVSを使って慣れておこうかと思っている次第です。
windows向けであればcygwinよりmingwがいいんですか。
あるいは、windows向けであればビジネス的にはVSが圧倒的シェアかと思いますが、
個人的使用(趣味のプログラミング)であればVisualStudio2008などは高額で敷居が高いですね。
個人向けであれば、mingwが最適なのかなと思って、最近mingwが気になりだした次第です。

475 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:20:30 ]
素直にVS使っとけ。どうせ2008も無償版が出るんだから。
POSIXを意識しないならWindows上でまでgcc使う必要はない。

476 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 01:43:18 ]
>>472
ハローワールドで数メガとかならねーよw
# あ…Javaで書いてgcjでコンパイルとかしたらなるか

477 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 02:33:08 ]
デバッグ情報てんこもりとか

478 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:08:49 ]
[Test.java]
public class Test {
  public static void main(String[] args) {
    System.out.println("Hello, world.");
  }
}

> gcj -O2 --main=Test -o test Test.java
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 6.1M Jan 14 03:04 test.exe*
> strip test.exe
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 2.1M Jan 14 03:06 test.exe*

うはwww

479 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:10:45 ]
>>471
VS と MinGW の両方でコンパイルできるコードが割と簡単に書けるところが MinGW のメリット。
MinGW では基本的に Win32 API を使う。
スレッド、WinSock2、DLL のロードなどは Win32 API を利用するので
VS 用と MinGW 用のコードの差分は小さくなることが多い。
コンパイラ依存の部分を #ifdef で分ければ大半のコードを共用できる。

Cygwin は使ったこと無いのでパス。



480 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:43:38 ]
逆に、cygwinだとWinSockを使わないでソケット周りを書けるのが魅力。
要は、Linuxと同じソースでいける可能性が高い。

481 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:47:17 ]
>>474
windows用のソースをwindows用にコンパイルするのがmingw、勿論VSも
linux用のソースをwindows用にコンパイルするのがcygwinのgcc
cygwinでもwindows用のソースをコンパイルする事はできます、そこで使われているのがmingw
このcygwinのmingwが本家と同一なのかどうなのかはよく知りませんが。

gcc --target-help の最初の10行程を見てみてください、参考になるかと思います。

482 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 04:56:41 ]
一部のファイルをインクルードすると

failure to convert cp932 to UTF-8

というエラーが発生するんですが
これは何が原因なんでしょう?

別のエディタで文字コードをUTF-8にして保存しても直りませんでした

483 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 05:46:45 ]
改行コードかも

484 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 06:25:37 ]
>>483
阿呆ですか。

>>482
--input-charsetは?

485 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 07:23:08 ]
いやまじであるぜ?
改行コード

486 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 14:22:35 ]
>>482
「一部のファイル」ってのを明確すると話が早かったりするかも。
boostだったりしない?


487 名前:本田 [2008/01/17(木) 17:40:38 ]
>COMプログラマの解説書
>Crispin Goswell
>Microsoft Office Product Unit
>1995年 春
>1995年9月13日改訂
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdncomp/htm/com_co.asp
>抄録
>この解説書は、
>Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
>効果的に使用する方法を説明しています。
>例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
>プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
>C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
>Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
>COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
>Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
>第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
>この解説書ではInside OLEとCOM Specificationにある情報を、
>COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。

488 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:01:35 ]
>>482
input-charset を CP932 として使っていながら、欧州由来のコードで
CP932的に不正なものを含むソースをコンパイルしたんだと思う。
ffmpegの何かのヘッダとか。

489 名前:デフォルトの名無しさん [2008/01/20(日) 14:26:15 ]
エクスプローラーを使っているときに
今見ているフォルダでCgywin窓を開きたいのですが
どうしたらいいですか?




490 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 15:01:59 ]
アドレスバーからコピーして、cdすれば?

491 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 15:39:29 ]
>>489
cygwin hereでググれ

492 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:41:55 ]
俺はこうしてる
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\WinHandPrompt]
@="Zsh(&C)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\WinHandPrompt\command]
@="cmd.exe /F:on /K \"cd %L&&zsh\""

493 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:47:51 ]
窓の手の流用か

494 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:51:02 ]
あれ、なんでばれたんだろう?
、と思ったら書いてあったねハッキリと

495 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 01:51:09 ]
MSYSからgetchとかkbhitを拾うのはどうしたらいい?

コマンドプロンプトではできることが
MSYSでは上手くいかないことが意外に多い
printfは必ずfflushも書かないと表示されないし・・・(TT

496 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 05:18:27 ]
毎回のようにfflushするくらいならsetvbufに_IOLBFしとけ。

で、getchやkbhitはC/C++にもPOSIXにも準拠していないし、Win32にも無い。
強いて言えば、DOSのデファクトスタンダードだったので残してある、というだけ。

Win32APIを使わないとするなら、
conio.hじゃなくてcursesとかを使うんじゃないの?知らないけど。

497 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 11:11:00 ]
>>495
>printfは必ずfflushも書かないと表示されないし・・・(TT
リダイレクトする用途を考慮しなくていいなら、printf()ではなくfprintf(stderr, ...)したまえ。

498 名前:デフォルトの名無しさん [2008/01/26(土) 15:58:13 ]
いま操作しているPC(ネットワーク上でのコンピュータ名はPC1)のcygwin(以下cygwin1)から
sshでほかのPC(ネットワーク上でのコンピュータ名はPC2)のcygwin(以下cygwin2)にログインして
\\PC1\Shareにアクセスしようとすると"-bash: cd: \\yy-x60s\Share: Permission denied"と言われてしまいます

cygwin2から直接"cd \\\\PC1\\Share"を実行するとこちらは成功します

cygwin2で"setfacl -m user:SYSTEM:rwx \\\\PC1\\Share"を実行して
直後に"getfacl \\\\PC1\\Share"を実行すると
# file: \\PC1\Share
# owner: pc2user
# group: なし
user::rwx
group::r-x
other:r-x
mask:rwx
とでていて設定が反映されてないことが原因なような気がするのですが、どのように設定するばよいか分かりません

499 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:58:46 ]
そういえばstderrはバッファリングされないからflushする必要もないよね



500 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 16:13:01 ]
でなきゃ困るだろ.そもそも
>printfは必ずfflushも書かないと表示されないし・・・(TT
は,それが当たり前だということを知らずに泣いてるだけの話だろ

501 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:20:24 ]
>>495-496
MSYS では、ってのは rxvt では、ってことだよね。
pdcurses の getch を使うプログラムを書いて試してみたけど rxvt ではダメっぽい。

LINES value must be >= 2 and <= -4096: got 1
initscr(): LINES=1 COLS=1: too small.

とか出てプログラムが異常終了する。
ググってみると lynx や aspell で同じ問題が起こっているみたい。
rxvt では (pd)curses は NG。

502 名前:デフォルトの名無しさん [2008/01/30(水) 21:32:07 ]
質問です。非常に初歩的ですみません。

ジョークコマンド sl を、Cygwin や その他 dll 等に依存しない、exeファイ
ル単体で動く形にコンパイルしたいのです。

chaosweb.complex.eng.hokudai.ac.jp/~hagi/contents/memo-cygwin.html#sl
freethink.way-nifty.com/action/2006/06/gnuwin32_6362.html
これらを参考に、Mingw、GnuWin32 をそれぞれフルインストールしました。
makefile の -lcurses と sl.c の usleep を書き換えました。
また、makefile を
CC=c:/mingw/bin/gcc.exe
と書き換えました。
そこから先が分かりません。

gnuwin32 のコマンドプロンプトから、makeを実行すると、以下のようなエラー
が出ます。
gcc -O -o sl sl.c -lpdcurses -ltermcap
sl.c:30:20: curses.h: No such file or directory
sl.c: In function `my_mvaddstr':
sl.c:42: error: `ERR' undeclared (first use in this function)
sl.c:42: error: (Each undeclared identifier is reported only once
...(略)

ということで質問です。GnuWin32 の termcap と pdcurses を、MinGW から利
用できるようにするには、どのように何を設定したらいいのでしょうか?


503 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:04:14 ]
>>502
gcc の -I オプションで curses.h があるディレクトリを指定


504 名前:502 mailto:sage [2008/01/30(水) 23:57:09 ]
>>503
ありがとうございます。makefileのCFLAGSを以下のように修正したところ、
CFLAGS=-O -I "/Program Files/gnuwin32/include/"
一歩前進し、今度はこんなエラーが出るようになりました。

c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lpdcurses
collect2: ld returned 1 exit status
make: *** [sl] Error 1

今度はどこに何を設定したら良いでしょう?

505 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 00:01:20 ]
1を聞いて10を知れ、とは言わないがちょっとな・・・

506 名前:502 mailto:sage [2008/01/31(木) 00:46:02 ]
ごめんなさい、図々しいお願いですね。

gcc の man を見ているのですが、ライブラリの検索パスを追加するオプショ
ンが見つかりません。
また、C:\Program Files\gnuwin32 の下に pdcurses に相当するライブラリが
あるのかと思ったのですが、libpdcurses.a というファイルが見つかりません。
行き詰ってしまいました。

507 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 00:49:24 ]
-L でしょ?

508 名前:502 mailto:sage [2008/01/31(木) 01:08:26 ]
うわあ、これは恥ずかしい。申し訳ありません。
日本語manを"ライブラリ"で検索していたので見つかりませんでした。

c:\program files\gnuwin32\lib に pdcurses がなく、curses があったので、
Makefile を元に戻しました。

--- sl.c ----
/* usleep(20000); */
sleep(1);

ここで今、こんなエラーが出ています。
c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccGQbaaa.o:sl.c:(.text+0x1a4):
undefined reference to `sleep'
collect2: ld returned 1 exit status

たぶん、正しいヘッダをインクルードすればいいと思うのですが。

509 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 01:48:36 ]
>>508
> たぶん、正しいヘッダをインクルードすればいいと思うのですが。

そう思うんだったら、includeディレクトリの中でsleep()の宣言を探す
べきでしょ。たぶん無いけど。





510 名前:502 mailto:sage [2008/01/31(木) 02:01:22 ]
おっしゃるとおりです。見つかりませんでした。

/MinGw/include には何もなく、

/Program Files/gnuwin32/include には
glibc/unistd.h に sleep() がありましたが、includeすると大量のエラー。
winx/timex.h に nanosleep() がありましたが、
undefined reference to `nanosleep' のエラーが出ます。

/cygwin/include でも見つからなかったので、どうも方針がまずいようです。
Cygwin 上だと何もせずにコンパイル、実行できましたので。

今日はいったん中止します。

511 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:33:38 ]
このまま続けると嫌われるよ。
おそらく、初心者板の方が適している質問と思われ。

# -Iや-Lオプションなんて、cc時代から定番のオプションだし。
# CygwinやMinGWの問題か切り分けられて無いし。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef