元スレCygwin + MinGW + GCC 相談室 Part 7
gcc覧 / PC版 /みんなの評価 :
451 = :
vimがどうかは知らんけど、一般にGNU autoconfのconfigureで
--prefix=/usr指定しないとビルドできないケースなんて聞いたことないぞ
デフォルトのprefixは/usr/localだし、$HOME以下指定してビルドするケースも多い
-Iや-Lで余分なディレクトリ追加指定されたからといって、普通ならgccはデフォルトで
/usr/includeや/usr/libの中は探すだろ
gcc --print-search-dirs の出力はどうなる?
なんか腐ってんじゃねーの
452 = :
あなたの頭の中のこと
455 = :
>>445
公式から落としたvim74を./configure && makeしてみたが問題無かった
x86_64 Cygwin gcc バージョン 4.8.2 (GCC)
環境が腐ってると思う
32bitかmingwのgcc呼んでるとかじゃね?
configureオプションはcygportからX関係をのぞいたやつ
456 = :
$ cygport vim.cygport prep
*** ERROR: lua is required to build this package
$ cygport vim.cygport prep
*** ERROR: pkg-config is required to build this package
$ cygport vim.cygport prep
*** ERROR: python3 is required to build this package
$ cygport vim.cygport prep
*** ERROR: ruby is required to build this package
457 = :
export MAKE_MODE=unixを追記した上でcygwinを入れなおしたらビルドも通せました。
結局初歩的なミスで恥ずかしい限りです。
助言を下さった皆さん、どうもありがとうございました。
459 = :
俺がわからないものは作るなっていってるだけでしょ
460 = :
改めていろいろ試したところ
C:\cygwin\bin\zsh.exe -c "/usr/bin/mintty -&"
というショートカットからと
@echo off
C:\cygwin\bin\zsh.exe -c "/usr/bin/mintty -&"
exit
というバッチファイルからでは結果が違いました。
(MAKE_MODE=unixの有無は関係なかったです。)
前者はクロスコンパイルと認識され
後者はビルドまでいけました。
もうよくわからない…
461 = :
clang3.4のビルド済みバイナリ入れてみたんだが、
cout << endl;
これがあると実行時に落ちる
g++に戻すと普通に動いた
自前でclangビルドした方が良いんだろうか?
自分の環境が腐ってんのかな…
462 = :
特殊なライブラリーを使わない限り
utf32の入出力ってファイル入出力が
普通の人のやりかたですか?
463 = :
>>462
俺語を使わずに、分かるように質問し直してくれ。
466 = :
gdbって知ってる?
使ったことある?
467 = :
意味が分からないけど「普通の人」というなら、それこそ普通はUTF-32は
内部形式に使うことはあっても入出力にはほぼ使われないぞ
もし使うのなら、>>464の考え方で基本的には正しいけど
エンディアンの問題があるので注意
(逆に言えばそこまで含めバイナリと扱いが一緒)
それと、>>465も言ってるように入出力の先は別にregular fileである必要はないし
標準入出力の先が端末であるとも限らない
468 = :
つまり、標準出力をバイナリモードにして、
uft32が表示できる端末に出せば良いんですよね。
そんなのあるんですか?
469 = :
>>468
iconvにでもパイプでつなげばいいだろ。
470 = :
>>468
やってみます。
471 = :
>>468
端末にUTF-32を直接出力するのは具合が悪いと分かっていながら、
そもそもなぜUTF-32で出したいんだ?
473 = :
cygwinでSDLをインストールしたいので調べてみるとgccのversion3が必要と書かれいて
$ chmod 755 /usr/bin/set-gcc-default-3.sh
$ /usr/bin/set-gcc-default-3.sh
を実行したらバージョンダウンできるみたいなのですが、実行したら
ABC@ABC-PC ~
$ chmod 755 /usr/bin/set-gcc-default-3.sh
chmod: `/usr/bin/set-gcc-default-3.sh' にアクセスできません: No such file or directory
と返されたのでset-gcc-default-3.shでググってみたのですが一つも見つかりませんでした。
cygwinのsetup.exeから何をインストールすればset-gcc-default-3.shをダウンロードできますか?
475 = :
>>473
そんな馬鹿なと思ったが、SDL-1.2.15のconfigureスクリプト見た感じでは
以下のようなことをやっているんだな
case "$host" in
*-*-cygwin*)
# We build SDL on cygwin without the UNIX emulation layer
BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
BASE_LDFLAGS="-mno-cygwin"
;;
-mno-cygwinってのはCygwin用のgccにMinGWターゲットのクロスコンパイルを
簡易的に行わせるための今は亡きスイッチだ
だからGCC3とかいう話が出るんだと思うが、Cygwinターゲットではなく
MinGWターゲットなんだから、Cygwinでビルドする意味はない
それでもCygwinからMinGWターゲットでコンパイルするのであれば、
今はLinuxからと同じやり方でクロスコンパイルするのが正しい作法
つまり、ちゃんとMinGW系のクロスコンパイラツールセットを入れて、
./configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32/sys-root/mingw
とかやる
Linuxでビルドしたほうがずっと速いし、デバグをしたいならクロスじゃなく
MinGWネイティブでビルドしたほうが便利で、Cygwinからビルドするメリット無いけどな
476 = :
>>474
http://play.google.com/store/apps/details?id=com.n0n3m4.QIII4A&hl=ja
このアプリと同じゲームエンジンを使ったゲームをこのアプリのjavaコード&JNIの部分を使いまわして、このアプリと同じように移植してみようと思っています
それで上のURLのアプリはhttp://code.google.com/p/kwaak3/を元に作られていて、さらにこの大本が
http://ioquake3.org/get-it/source-codes/なので、まずこの大本をビルドしてみようと今試していて、それにSDLが必要で今に至っています
しかし、今までlinuxに一度も触れたことがないのでライブラリを入れる時点で躓いています。。
>>475
CygwinにSDLを入れようとしていたのですがMinGWで作業したほうがいいのでしょうか?
Android NDK向けのページを漁っているとどれもCygwinを使っていたので何も考えずにCygwinをインストールしたのですが。
479 = :
iconvが初めから入ってないのでできません。
482 = :
マジレスすると
libiconv.aがTDM-GCCに入ってないので、
自己コンパイルするしかないようなので諦めました。
それなのでmsysにあるiconv.exeを使って変換します。
でもまだバイナリで標準出力に出力する方法が分らないので
試してません。
483 = :
> 自己コンパイルするしかないようなので諦めました。
ソフトのコンパイル一つできないのに開発しようとしてんのか
むりだろ、それは
484 = :
これができませんって言いたいだけの人でしょ
485 = :
>でもまだバイナリで標準出力に出力する方法が分らないので
釣りだろ。
486 = :
基本的にテキストモードで出力しないと駄目なはずだから
するとバイナリをテキストモードで出力するのと同じ変換を施さなければいけないわけですよ。
487 = :
標準出力にはバイナリで出力できるし
そうでなければnetpbmやsoxやlameやx264みたいなソフトウェアが成り立たない
テキストモードというのは入出力にCランタイムが手を加えるということで
OSのレベルではテキストモードなんてものは存在しないんだから
「バイナリモードでないと駄目」なケースはたくさんあるが
「テキストモードでないと駄目」なケースは存在しないよ
489 = :
>>488
gcc -vでコンパイルするとインクルードのサーチパス一覧が表示される
実際にどれがインクルードされているかは-Eオプションの出力を見れば分かる
リンクされるオブジェクトとかライブラリを表示するには"-Wl,--verbose"オプション
490 = :
>>489
"-Wl,--verbose"オプションで stdio.h をインクルードしたソースをコンパイルしたら
attempt to open c:/../crt2.o succeeded
attempt to open c:/../crtbegin.o succeeded
...
attempt to open c:/.../libmsvcrt.a succeeded
attempt to open c:/.../crtend.o succeeded
のように出力されたんですが、これらが stdio.h の実体と考えても問題ないでしょうか?
491 = :
>>488
C:\MinGW\include と C:\MinGW\mingw32\include の中になるものは完全に同じもの
何らかの互換性を保つ為に殘っていると思われる
>>490
実体って何だ?とりあえず
objdump.exe -p a.exe
ってやってみ
何か分かると思うよ
493 = :
まだWindowsXPを使っているのか…
494 = :
この人、DLLとか分からなさそう
495 = :
>>491
>>492
ありがとうございます
私の環境では stdio.h は c:\MinGW\include から取り込まれて、ライブラリは msvcrt.dll がリンクされるようです
もやもやが晴れた気分です
>>493
4月までは・・・
497 = :
そのオプションの表示、パスが長すぎると途中で省略されてよくわからんかったです。。
498 = :
はあ
499 = :
なんかスマンかった
みんなの評価 :
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- Cygwin + MinGW + GCC 相談室 Part 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について