のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,833人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレCygwin + MinGW + GCC 相談室 Part 5

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    651 : デフォルトの名無 - 2010/10/10(日) 01:01:17 (-1,-29,-20)
    cygwin環境でmingwなgccをクロス?ビルドしようと思えば出来るね。
    msysの立場が微妙だけど、mingw64でもmsysの配布をやってるんだ。
    652 : デフォルトの名無 - 2010/10/11(月) 16:20:38 (-6,-29,-6)
    キター Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!
    653 : デフォルトの名無 - 2010/10/12(火) 15:01:54 (+37,-29,-48)
    mingw32のシェルで日本語の入力ができません。
    これは仕様ですか?Cygwinで入力した文字が正しく認識されません。
    GCCのバグのようですが解りません。mingwのコンパイラでは同じプログラムで
    正常に動きます。日本語処理に詳しい方教えてください。
    654 : デフォルトの名無 - 2010/10/12(火) 15:11:58 (+72,+29,-28)
    >>653
    問題を整理してくれ。問題を一つずつ主語と目的語を明示して書き直すだけでずっと判り易くなるぞ。
    655 : デフォルトの名無 - 2010/10/12(火) 15:32:54 (+43,+25,+0)
    うん
    656 : デフォルトの名無 - 2010/10/12(火) 16:12:06 (+89,+29,-2)
    触るなと。
    上の方のログ見ればどんな奴かわかるだろ。
    657 : デフォルトの名無 - 2010/10/12(火) 16:20:44 (+79,+29,-144)
    Cygwinをいじっているうちにおかしくしてしまったようで、
    同じプログラムが同じように動きません。文字コードを入力して
    表示するプログラムなのですが日本語の2バイトコードが正しく
    表示されません。CygwinのGCCでコンパイルするとおかしくなります。
    MINGWのコンパイラだと正常に認識します。
    もう一つはmingwのシェルですが日本語を入力しようとしても
    文字が消えてしまいプログラムに引数渡しができません。
    以前は問題なく動いていたと思うのですが今日突然おかしい事に
    気づきました。これは今まで気づかなかっただけで普通の現象なの
    でしょうか。日本語がコマンドプロンプトから入力できないことは
    ないと思うのですができません。
    658 : 654 - 2010/10/12(火) 16:22:54 (+64,+29,+0)
    >>656
    すまん。俺が悪かった。
    659 : デフォルトの名無 - 2010/10/12(火) 23:58:00 (+33,+0,+2)
    >>657
    死ね
    660 : デフォルトの名無 - 2010/10/13(水) 00:02:13 (+3,-24,+2)
    cmd.exe使えって言われないのが不思議
    661 : デフォルトの名無 - 2010/10/20(水) 23:54:13 (+36,-29,-25)
    質問です。
    普通にmsysをインストールして普通に起動したらDELキーを押したとき「~」が出るわ、
    lessコマンドの表示でカーソルキーが使えないわで何か変なんですけど、
    どう設定すれば正常になるでしょうか?
    662 : デフォルトの名無 - 2010/10/21(木) 03:30:42 (+38,+20,+1)
    それが正常
    663 : デフォルトの名無 - 2010/10/21(木) 04:31:55 (+62,+29,+2)
    >>661
    × 何か変
    ○ 何か普通
    664 : デフォルトの名無 - 2010/10/21(木) 22:43:00 (-1,-29,-27)
    mingw, msys の GNU make で -jN がデッドロックしない版を呉
    665 : デフォルトの名無 - 2010/10/21(木) 23:47:11 (-1,-29,-33)
    msysでcmdのインターフェースがすごく使いにくいからrxvt使おうとしたら日本語だめだめだった・・
    minttyは便利だな。
    設定もパッチもいらずにそのままで使えるぜ。
    666 : デフォルトの名無 - 2010/10/22(金) 08:18:30 (+14,-8,+0)
    ckw 使おうぜ
    667 : デフォルトの名無 - 2010/10/25(月) 03:01:14 (+44,-30,-165)
    gcc-4.6 で mingwrt-3.18, w32api-3.15-1 を build した後、生成されたファイルを上書きインスコ
    試しに以下のソースを build してみたんだけど、出来上がった実行ファイルは動かなかった(´・ω・`)

    #include <stdio.h>

    int main(int argc, char *argv[])
    {
    printf("hello, world\n");
    return 0;
    }

    どっちが原因で動かない実行ファイルが作成されるのか試してみたんだけど、どうやら mingwrt-3.18 らしい
    とりあえず w32api-3.15-1 は、問題無いみたい・・・上のソースじゃ確認にもならないかもだけど・・・
    ちなみに環境は XPSP3 の自前ビルドです

    えらいひと修正してくんないかな・・・(´・ω・`)スキル無いもれは他力本願ですスマン
    668 : デフォルトの名無 - 2010/10/25(月) 03:07:59 (+3,-24,-5)
    >動かなかった(´・ω・`)
    を詳しく書かンと相手にされないよ。ソース晒して、追試してじゃ...
    670 : デフォルトの名無 - 2010/10/27(水) 22:59:27 (+24,-29,-18)
    Cygwinにg++の4.5入れたいんですが、ソースしかありません
    コンパイル法を教えていただけないでしょうか
    671 : デフォルトの名無 - 2010/10/27(水) 23:04:19 (-6,-29,+0)
    TDMでいいじゃん
    672 : デフォルトの名無 - 2010/10/27(水) 23:08:47 (-1,-29,-16)
    $ gcc-4 -v
    でconfigureが出てくるのでそれを改良してやるんだね。
    673 : デフォルトの名無 - 2010/10/28(木) 00:41:32 (-1,-29,-1)
    >>670
    ビルドされたのあるじゃん(# ゚Д゚)プンスコ!!
    674 : デフォルトの名無 - 2010/10/28(木) 16:09:34 (+37,+10,+0)
    >>670
    >>631に書いてある
    675 : デフォルトの名無 - 2010/10/28(木) 22:22:11 (+10,-30,-45)
    >>667
    lto-pluginで
    *** Warning: Trying to link with static lib archive ../libiberty/pic/libiberty.a.
    ってのが出て、ビルドがこけるぞ
    676 : デフォルトの名無 - 2010/10/29(金) 00:33:05 (+6,-29,-4)
    >>667
    mingwrt-3.18が駄目なときの回避方法を書いてくれ
    特に駄目って事ないみたいだけど...
    677 : デフォルトの名無 - 2010/10/29(金) 04:23:39 (+4,-30,-177)
    >>675
    そう言われても・・・

    そいえば、libiberty.(a,h) は、binutils のを使った方が良いってググった時に出てきたのを鵜呑みにしてやってるんだけど
    実際の所はどうなんでしょうかね?

    binutils-2.20.51(20101026) と gcc-4.6(20101023) にある libiberty.h は同じものだったけど、buuild して出来た libiberty.a は
    どちらを使えば良いのだろう・・・

    >>676
    回避方法というか、単に gcc-4.6 で build 仕直した mingwrt-3.18 が NG だったので、gcc-4.5.x で build した時のを使用して
    対応しているというだけのことです。

    ググっていたら blog に gcc-4.6 の build についてカキコしている方が居たので、参考になるかどうかわかりませんが
    http://ra1ndog.wordpress.com/2010/10/22/compiling-gcc-4-6-nightlies-on-windows-with-mingw-and-msys/
    678 : デフォルトの名無 - 2010/10/29(金) 04:36:54 (+9,-29,-49)
    とりあえず、linuxな環境で作ったmingwなgcc4.6でコンパイルしたruntimeだと
    問題ないけどね、hello world
    君の環境で動かない時にwindows君はなんか文句は言わんのかね?
    なにを基準に動かないと言ってるのかいまいち不明
    679 : デフォルトの名無 - 2010/10/29(金) 04:44:36 (+56,+28,+2)
    >>667
    うちは大丈夫
    680 : デフォルトの名無 - 2010/10/29(金) 04:53:28 (+0,-29,-23)
    677のサイトのやり方だと出来損ないのgccができそうだけど
    動かんgccのconfigureのオプションを晒してくれ
    681 : デフォルトの名無 - 2010/10/29(金) 05:30:01 (+0,+0,+0)
    >>680

    binutils-2.20.51
    ../binutils-2.20.51/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
    --build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
    --libdir=/mingw_new/i686-pc-mingw32/lib --includedir=/mingw_new/i686-pc-mingw32/include --enable-64-bit-bfd
    --enable-targets=i686-pc-mingw32,x86_64-pc-mingw64 --disable-bootstrap --disable-werror --disable-nls --enable-static
    --disable-shared --enable-threads=yes --disable-multilib --disable-libada --enable-libssp --disable-rpath --with-host-libstdcxx=-lstdc++
    --with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup --with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup
    --with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto --with-pic --with-zlib --enable-plugins

    gcc-4.6
    ../gcc-4.6-20101023/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
    --build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
    --includedir=/mingw_new/i686-pc-mingw32/include --enable-languages=c,c++ --enable-version-specific-runtime-libs --disable-bootstrap
    --enable-sjlj-exceptions --disable-win32-registry --disable-werror --disable-nls --enable-static --disable-shared --disable-decimal-float
    --enable-threads=win32 --disable-multilib --disable-libmudflap --disable-libada --enable-libssp --disable-libgomp --disable-rpath
    --disable-debug --disable-libstdcxx-pch --with-host-libstdcxx='-lstdc++ -lsupc++' --with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup
    --with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup --with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto
    --with-system-zlib --enable-fully-dynamic-string --with-pic
    682 : デフォルトの名無 - 2010/10/29(金) 05:31:07 (+0,-30,-186)
    >>681続き

    w32api-3.15-1
    ../w32api/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
    --includedir=/mingw_new/i686-pc-mingw32/include

    mingwrt-3.18
    ../mingwrt/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
    --includedir=/mingw_new/i686-pc-mingw32/include
    683 : デフォルトの名無 - 2010/10/29(金) 05:41:37 (+10,-29,-50)
    >>678
    作成された a.exe を実行すると windows がエラーダイアログを表示
    a.exe 単体のエラーで ntdll.dll とか他のを巻き込んでのでは無かったです
    ちょと今すぐには確認出来ないので、また後でエラー表示内容をアップしたいと思います
    684 : デフォルトの名無 - 2010/10/29(金) 05:47:53 (+4,-29,-6)
    > --enable-static --disable-shared
    にしてるから、mingwrtにもいるんじゃないだろうか?
    685 : デフォルトの名無 - 2010/10/29(金) 05:51:15 (+0,-30,-77)
    >>681補足

    cloog-ppl-0.15.10
    gmp-5.0.1
    libelf-0.8.13
    mpc-0.8.2
    mpfr-3.0.0-p7
    polylib-5.22.5
    ppl-0.11
    zlib-1.2.5
    ----------
    bzip2-1.0.6
    dlfcn-win32-r19
    libiconv-1.13.1
    pthreads-w32-2.9.0
    686 : デフォルトの名無 - 2010/10/29(金) 05:55:48 (+14,-13,-8)
    よう詰め込んだもんだ
    dllとstaticが混在して、環境破壊してるような?
    687 : デフォルトの名無 - 2010/10/29(金) 06:01:49 (+3,-29,-46)
    mingwrt の configure に static.shared の項目無かったから省いているんだけど
    後で試して見ます

    すいません、眠くなってきたので取りあえず此処までで・・・
    レスありがとうございました(´-ω-`)オヤスミナサイZzzz
    688 : デフォルトの名無 - 2010/10/29(金) 16:41:23 (+3,-30,-41)
    おはようございます。
    これから仕事なので手短に

    >>684
    mingwrt-3.18
    configure: WARNING: unrecognized options: --enable-static, --disable-shared

    やっぱり、駄目ですね
    689 : デフォルトの名無 - 2010/10/29(金) 16:51:41 (+8,-30,-53)
    >>683
    windows が表示したエラーダイアログ内容

    ----------
    エラー署名
    AppName: a.exe AppVer: 0.0.0.0 ModName: a.exe
    ModVer: 0.0.0.0 Offset: 00007fff
    ----------
    690 : デフォルトの名無 - 2010/10/29(金) 16:54:03 (+0,-29,-4)
    >>689追記
    hello, world も表示されないまま、エラーで落ちます
    691 : デフォルトの名無 - 2010/10/30(土) 23:10:32 (-1,-29,-3)
    --enable-static --disable-shared
    でgcc4.6作って、
    692 : デフォルトの名無 - 2010/10/30(土) 23:13:21 (+4,-29,-40)
    上の続き
    runtimeをBUILDして、hello worldをコンパイルしてみたけど
    特に問題はでなかったな。
    動くものと動かないものをバイナリーで比較してみるぐらいしか...
    693 : デフォルトの名無 - 2010/10/31(日) 02:11:21 (+10,-30,-104)
    >>692
    そちらは問題無かったですか・・・
    多分、もれの環境が原因なのかもですね

    一応、動くものと動かないもの(※1)のバイナリ比較はしてみましたが、GCC-4.6 で生成された実行ファイルのサイズは同じものの
    中身は違うものでしたね・・・動かないんだから当たり前か・・・orz

    もう少し、色々と試してみようと思います

    ※1
    動くもの:GCC-4.5.2 環境で build した mingwrt-3.18 使用時
    動かないもの:GCC-4.6 環境で build した mingwrt-3.18 使用時
    694 : デフォルトの名無 - 2010/10/31(日) 03:10:02 (-1,-29,-5)
    crt2.oがくさそうだから
    objdumpで逆汗とかして比べてみたら
    695 : デフォルトの名無 - 2010/10/31(日) 22:31:34 (+47,+29,-2)
    汗くさそう…
    696 : デフォルトの名無 - 2010/11/01(月) 21:46:08 (+13,-30,-118)
    MinGWを使用して、
    リンカスクリプトというものを勉強しています。
    1.勉強に使っているソース Test1.c
      #include <stdio.h>
      int main(void) {
       printf("hoge\n");
       return 0;
      }
    2.gcc Test1.cでコンパイル・リンクし出来上がった a.exe をobjdumpで調べたところ、
      > objdump -h a.exe
      a.exe: file format pei-i386
      Sections:
      Idx Name Size VMA LMA File off Algn
       0 .text 000009b4 00401000 00401000 00000400 2**4
       1 .data 00000050 00402000 00402000 00000e00 2**4
       2 .rdata 000000d0 00403000 00403000 00001000 2**4
       3 .bss 000000e0 00404000 00404000 00000000 2**4
       4 .idata 00000294 00405000 00405000 00001200 2**2
     となっていました。また、a.exeは正常に動作します。
    697 : 696 - 2010/11/01(月) 21:47:35 (+3,-30,-258)
    3.最も単純なリンカスクリプトを作りたくて下記をScript1.xの名前で作成しました。
      SECTIONS
      {
       . = 0x00401000;
       .text : { *(.text) }
       . = 0x00402000;
       .data : { *(.data) }
       . = 0x00403000;
       .rdata : { *(.rdata) }
       . = 0x00404000;
       .bss : { *(.bss) }
       . = 0x00405000;
       .idata : { *(.idata) }
      }
    4.gcc -T Script1.x Test1.cでコンパイル・リンクしたところ下記のエラーが出ます。
    ..\mingw32\bin\ld.exe: warning: dot moved backwards before `.rdata'
    ..\mingw32\bin\ld.exe: section .idata.1 [00403000 -> 00403013] overlaps section .rdata [00403000 -> 004030cf]
    ..\mingw32\bin\ld.exe: section .bss [00404000 -> 004040df] overlaps section .idata.2 [00404000 -> 00404003]
    collect2: ld returned 1 exit status

    最低限のリンカスクリプトはどう書けば良いのでしょうか?
    参考になるサイト等あれば教えて頂けると助かります。
    (/MinGW/mingw32/lib/ldscripts/i386pe.xは見ましたが、
    ゴチャゴチャしていて私には理解できませんでした。)
    698 : デフォルトの名無 - 2010/11/01(月) 21:56:49 (+4,-29,-24)
    エラーメッセージからすると .idata.1 と .idata.2 というセクションがあってそれが指定されてないからアドレスが上手く割り当たってないように見える
    *(.idata.*) にしてみたら
    699 : デフォルトの名無 - 2010/11/01(月) 22:41:43 (+58,+29,-1)
    このへん見てみたら
    http://www.sra.co.jp/wingnut/ld/ld-ja_3.html
    700 : デフォルトの名無 - 2010/11/01(月) 22:52:39 (+8,-30,-198)
    >>698
    とりあえず
    *(.idata$*)
    にしたらコンパイルリンクは通りました。
    出来上がった a.exe を実行するとまともに実行できず、戻り値が127になったので、
    i386pe.xを削る方向でやってみたところ下記で正常動作しました。
    SECTIONS
    {
      . = 0x00401000; .text : { *(.text) *(.ctors); }
      . = 0x00402000; .data : { *(.data) }
      . = 0x00403000; .rdata : { *(.rdata) ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; }
      . = 0x00404000; .bss : { *(.bss) }
      . = 0x00405000; .idata :
      {
        SORT(*)(.idata$2)
        SORT(*)(.idata$3)
        LONG (0); LONG (0); LONG (0);
        SORT(*)(.idata$4)
        SORT(*)(.idata$5)
        SORT(*)(.idata$6)
        SORT(*)(.idata$7)
      }
    }
    ↑の何故これだと上手く動くのか私には分かってません。

    >>699
    見てみます。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について