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

    私的良スレ書庫

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

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

    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
    1 : デフォルトの名無 - 2013/01/01(火) 14:47:10.46 .net (+93,-30,-67)
    Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

    過去スレ:
    Cygwin + MinGW + GCC 相談室 Part 6
    http://toro.2ch.net/test/read.cgi/tech/1304609116/
    Cygwin + MinGW + GCC 相談室 Part 5
    http://hibari.2ch.net/test/read.cgi/tech/1269400706/
    Cygwin + MinGW + GCC 相談室 Part 4
    http://pc12.2ch.net/test/read.cgi/tech/1221233882/
    cygwin + mingwn + gcc 相談室 Part3
    http://pc11.2ch.net/test/read.cgi/tech/1177944767/
    cygwin + mingwn + gcc 相談室 Part2
    http://pc11.2ch.net/test/read.cgi/tech/1126103347/
    cygwin + mingwn + gcc 相談室
    http://pc8.2ch.net/test/read.cgi/tech/1058134693/

    関連サイト:
    Cygwinhttp://www.cygwin.com/
    MinGWhttp://www.mingw.org/

    関連スレッド:
    GCCについて part10
    http://toro.2ch.net/test/read.cgi/tech/1315026784/
    2 : デフォルトの名無 - 2013/01/01(火) 14:52:12.18 .net (+3,-30,-152)
    2 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/06(金) 00:25:49.76
    バイナリ配布サイト:
    TDM's GCC/mingw32 Builds
    http://www.tdragon.net/recentgcc/
    Komisar Mingw
    http://komisar.gin.by/mingw/
    msys-cn - Project Hosting on Google Code
    http://code.google.com/p/msys-cn/
    MAME | Tools for building MAME on Windows
    http://mamedev.org/tools/
    MinGW Distro - nuwen.net
    http://nuwen.net/mingw.html
    mingw-w64
    http://mingw-w64.sourceforge.net/
    Cross-Mingw.GCC - x86/x64 - XvidVideo.RU
    http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64.html
    猫科研究所(felid labo) - MinGW猫科研究所パック
    http://up-cat.net/
    3 : デフォルトの名無 - 2013/01/06(日) 15:21:18.41 .net (+8,-29,-7)
    http://www.mingw.org/wiki/Linking_hangs_under_Windows_7

    rare occasionsってのが嫌すね。
    exFATやSMBだとどうなるんだろ?
    4 : 3 - 2013/01/06(日) 18:38:38.75 .net (-2,-30,-37)
    安物NASのSMBと100BASE-TXだと、gccのtarballの展開
    (NAS上で、bunzip2|tar xf -)
    すら時間が掛かり過ぎる。
    常用するのは厳しいかも。
    5 : デフォルトの名無 - 2013/01/06(日) 23:34:16.10 .net (+3,-30,-101)
    mingw の gcc で test.dll とインポートライブラリ libtest.a を次のように作った

    g++ --shared -o test.dll test.cpp
    pexports test.dll > test.def
    dlltool --dllname test.dll --input-def test.def --output-lib libtest.a

    それを実際にリンクさせようとしたところ、

    g++ -Lライブラリのパス -ltest main.cpp

    とやったら、リンクエラー undefined reference to・・・ が発生した。

    libtest.a をカレントディレクトリにコピーしてきて

    g++ main.cpp libtest.a

    とやったら、ビルドできた。

    ネット上で mingw の dll の使い方を調べてみると
    前者の方法で良いみたいだけど、なぜかできない。
    なんで?
    6 : デフォルトの名無 - 2013/01/06(日) 23:47:20.52 .net (+7,-29,-9)
    main.cpp と -ltest の順番を変えろ。
    超 FAQ
    7 : 片山博文MZボッ - 2013/01/07(月) 16:22:47.38 .net (+56,+27,+0)
    いろんな種類のgccが出て来てるね。解説キボンヌ。
    8 : デフォルトの名無 - 2013/01/07(月) 18:30:53.92 .net (+21,-5,+2)
    イボンヌです
    9 : デフォルトの名無 - 2013/01/07(月) 19:12:20.26 .net (+58,+29,-3)
    >>6
    ありがと、まさにそれだった。

    一応使う前に FAQ は見たんですけどね
    http://archive.linux.or.jp/JF/JFdocs/archive/GCC-FAQ/
    10 : デフォルトの名無 - 2013/01/07(月) 21:20:05.54 .net (+61,+29,-16)
    >>8
    つまり畑は違えど種は同じ、と
    11 : デフォルトの名無 - 2013/01/08(火) 20:02:26.61 .net (+15,-27,-68)
    http://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html

    ここを見ると、mingw32-make は msys の make に比べて
    機能が欠けていたり修正されていたりするそうだけど、
    具体的にはどんな機能が書けていたり修正されてるの?

    この辺りネットで調べてみても、誰も具体的には説明していないような気がする。

    当然だけど、これでビルドされた exe ファイルに違いはないよね?
    12 : デフォルトの名無 - 2013/01/08(火) 21:50:11.56 .net (+43,+25,+0)
    うん
    13 : デフォルトの名無 - 2013/01/09(水) 02:45:18.56 .net (-2,-30,-51)
    msys*.dllをリンクしたmakeはMSYSのパス(/usr/local)をネイティブパス(C:\mingw\msys\local)に変換してくれたりするのでは
    14 : デフォルトの名無 - 2013/01/09(水) 03:07:25.90 .net (+4,-30,-231)
    GNUのサイトからmakeのソースを落としてそのままビルドしようとするとconfigureで

    >case "$has_wait_nohang" in
    > no) echo
    > echo "WARNING: Your system has neither waitpid() nor wait3()."
    > echo " Without one of these, signal handling is unreliable."
    > echo " You should be aware that running GNU make with -j"
    > echo " could result in erratic behavior."
    > echo ;;
    >esac

    と言われる。
    waitpid()はmsys-1.0.dllの中にあるので、MinGWのサイトにあるmsysを使うようにパッチされたソース
    (make-3.81-3-msys-1.0.13-src.tar.lzma)を使ってビルドされたmakeならば-jオプションがちゃんと動くと思う
    15 : 11 - 2013/01/09(水) 07:07:04.43 .net (+66,+29,-23)
    今まで make って、Makefile に書かれたコマンドを単に実行するだけで、
    そのコマンドが使うデフォルトのパスとかには一切関わらないと思ってたが、
    話を聞いてるとどうも違うみたいだ
    16 : デフォルトの名無 - 2013/01/09(水) 07:37:39.16 .net (-5,-29,-1)
    rubenvbって何?
    17 : デフォルトの名無 - 2013/01/09(水) 08:08:20.43 .net (+64,+27,+0)
    >>15
    ディフォルトメークルールで何でもあり。
    18 : デフォルトの名無 - 2013/01/09(水) 09:49:22.40 .net (+3,-29,-32)
    >>14
    msysサポート如何にかかわらず make -j はよく刺さる。 ちゃんと動くバージョン希望。
    むしろ今後のプロジェクトでは cmake+ninja にしろ。ちゃんと、しかも高速に並列動作する。
    >>16
    理解できていないものをことごとく馬具呼ばわりする蘭厨。
    19 : デフォルトの名無 - 2013/01/11(金) 06:40:12.49 .net (+7,-29,-37)
    >>7-8>>10
    そういや32bit版はC++の例外絡みでdw2とsjljに分かれてますね。
    20 : デフォルトの名無 - 2013/01/15(火) 05:11:50.77 .net (+45,+27,+1)
    分かれてるね
    21 : デフォルトの名無 - 2013/01/16(水) 10:30:52.79 .net (+43,+25,+0)
    うん
    22 : デフォルトの名無 - 2013/01/26(土) 14:11:55.91 .net (+3,-30,-116)
    前スレのcommon lispのconfigureがmsysでコケちゃったの別解
    msysやめて、cygwinでやってみた
    $ CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ ./configure --enable-ansi --build=i686-w64-mingw32

    (事前にcygwinにmingwなgmpいれとかないといけない。)

    これで、configureは成功する。
    しかし、makeでまだ、コケる。
    23 : デフォルトの名無 - 2013/01/28(月) 19:28:19.56 .net (+0,-29,-1)
    c++.exe と g++.exe ってなんか違うん?
    24 : デフォルトの名無 - 2013/01/28(月) 22:02:26.55 .net (+4,-29,-23)
    >>23
    c++.exe と g++.exe のファイルのハッシュ値が一致するから同じものやね。

    Linaxなんかだと、どちらかは片方のシンボリックリンクとかになってるんじゃないだろうか。
    25 : デフォルトの名無 - 2013/01/28(月) 22:22:48.97 .net (-5,-29,-13)
    Linaxっておいw
    26 : デフォルトの名無 - 2013/01/28(月) 22:55:57.28 .net (+57,+29,-51)
    そうなのか。
    何のためにあるんだろ、歴史的な経緯とか、互換性のためかな。

    今はどちらでも気にしないで使って良いんだね。
    ありがと。
    27 : デフォルトの名無 - 2013/01/28(月) 22:57:17.57 .net (+27,+0,-13)
    互換性だろうな
    ccコマンドと同じ事だろう
    28 : デフォルトの名無 - 2013/01/29(火) 00:41:42.14 .net (+40,+16,+0)
    >>24-25
    トイレ?
    29 : デフォルトの名無 - 2013/01/29(火) 19:39:54.60 .net (-1,-29,-34)
    みんなgcc捨ててclang使ってないの?
    clangはエラーメッセージがgccよりわかりやすくてよい
    30 : デフォルトの名無 - 2013/01/29(火) 19:43:05.04 .net (+6,-21,-61)
    clangはもっと簡単に使えるようにしてよ
    gccみたいに解凍して環境変数設定したら即使えるようにならない限り選択肢にならん
    31 : デフォルトの名無 - 2013/01/29(火) 19:46:21.40 .net (-1,-29,-20)
    Cygwin の clang はインスコ一発で使えないか?
    32 : デフォルトの名無 - 2013/01/29(火) 19:51:02.66 .net (-1,-29,-30)
    春先に出るであろうgcc-4.8はclangみたいなエラー表示してくれるよ
    33 : デフォルトの名無 - 2013/02/03(日) 15:37:27.55 .net (+4,-30,-83)
    cygwinの設定で環境変数を変数名HOME、値/home/usernameと設定したのですが、
    HOMEという変数名はcygwinを使うためだけに設定しても大丈夫なのですか?
    他のソフトでも環境変数のHOMEを設定するときに不都合があったりするのでしょうか。
    大学の授業の延長で自宅のPCでも使えるようにしたので、環境変数とかについては無知です。
    よろしくお願いします。

    homeディレクトリをC:\cygwin\home\usernameにしておきたいのですが...
    34 : デフォルトの名無 - 2013/02/03(日) 15:42:03.57 .net (+57,+29,-4)
    たとえばバッチならバッチの冒頭でセットするとか
    35 : デフォルトの名無 - 2013/02/03(日) 15:50:03.47 .net (+43,+25,+1)
    ふーん
    36 : デフォルトの名無 - 2013/02/03(日) 16:03:55.02 .net (+4,-29,-20)
    >>33
    bash側でHOMEを設定するなら、Windowsアプリには影響しないよ。
    37 : デフォルトの名無 - 2013/02/03(日) 16:12:31.41 .net (+32,+3,-9)
    >>36
    ありがとうございます。
    bashについては自分で調べておきます。
    38 : デフォルトの名無 - 2013/02/03(日) 16:51:24.51 .net (-2,-29,-21)
    >>25
    俺の環境ではLinaxはLinuxへのシンボリックリンクだから大丈夫
    39 : デフォルトの名無 - 2013/02/03(日) 18:43:04.43 .net (-2,-30,-11)
    ちょっと気をつける点があるが HOME を /cygdrive/c/Users/yourname にすると便利なことが多い。
    40 : デフォルトの名無 - 2013/02/04(月) 05:34:41.61 .net (-6,-29,-3)
    mount?
    /etc/fstab
    41 : デフォルトの名無 - 2013/02/04(月) 21:24:25.88 .net (+58,+26,-29)
    パーミッションが0になってWindowsから書き込みできなくなりった
    42 : デフォルトの名無 - 2013/02/04(月) 23:25:51.76 .net (+57,+29,-2)
    >>1
    新年明けましておめでとう。良い年であるといいね
    43 : デフォルトの名無 - 2013/02/09(土) 16:26:16.21 .net (+3,-30,-126)
    gcc で32/64bit syntax-only コンパイルを行いたいがスイッチによって定義済みマクロが切り替わらないです。
    これって全部自分で再定義しないとだめなの? __SIZE_TYPE__ とか __PTRDIFF_TYPE__ とかその他もろもろ。
    ILP32/LP64/LLP64とかを切り替えて syntax-only がしたいんだけどどうすれば?
    44 : デフォルトの名無 - 2013/02/09(土) 16:31:18.05 .net (+3,-30,-227)
    1. 上記に追加、というかこれが本題で clang で syntax-only をしたいのだが、 -m32/m64 に相当するスイッチも見当たらないしどうやって32/64bitの切り替えを行えばいい?

    ちなみに 64bit 想定で size_t が uint64_t 相当になると <new> をインクルードしただけで operator new がエラーになる。
    第一引数の size_t は uint32_t 想定である的なエラーになるんだが・・・。
    これを解決して size_t が uint64_t でも syntax-check をパスできるようにしたいです。
    45 : デフォルトの名無 - 2013/02/09(土) 16:33:20.06 .net (+3,-30,-252)
    2. clang で Windows.hを syntax-only したときにデバッグビルドだと __STR2WSTRマクロで勝手にリテラル記号をつけられてしまうのだがclang がこれに対応していないのかリテラルとして処理できずにエラーになるんだが、どうする方法ない?
    とりあえず現状 -U_DEBUG で非デバッグ版として回避してるけど、_DEBUG ありでちゃんと通るようにしたい

    3. clang のオプションについての質問
    -fms-version -fms-extensions を設定しているのに _MSC_VER や _MSC_EXTENSIONS が定義されない
    これってどうなの?まだ未対応?
    46 : デフォルトの名無 - 2013/02/09(土) 16:39:51.95 .net (+3,-30,-184)
    -no include 系オプションがおかしい?
    clang -fsyntax-only -x c++ -v /dev/null
    とかで表示されるインクルード対象だが、オプション一覧にでてるのは
    -nobuiltininc Disable builtin #include directories
    -nostdinc++ Disable standard #include directories for the C++ standard library
    -nostdsysteminc Disable standard system #include directories

    デフォルトでインクルードされる対処を全て除外したいので
    clang -fsyntax-only -x c++ -v -nostdinc /dev/null
    とかにすると望みの結果になるのだが
    47 : デフォルトの名無 - 2013/02/09(土) 16:42:47.39 .net (+3,-30,-119)
    clang -cc1 -fsyntax-only -x c++ -v -nostdinc /dev/null
    とするとダメ。
    正確には -v つけてるうちはよいが外して、ビルドすると cc1 は -nostdinc ねぇよ、っていわれます。
    -v -nostdinc で出力されたオプション列を真似して
    -cc1 に渡す nobuiltininc/nostdinc++/nostdsysteminc を指定してもinclude対象ディレクトリを全ては除外できずnostdinc相当になりません。
    これってどうすればいいんでしょうかね?
    48 : デフォルトの名無 - 2013/02/09(土) 16:47:13.42 .net (+3,-30,-81)
    http://sites.google.com/site/x32abi/
    ILP32(x32abi)はウニックス系だけじゃね、つかえるのは
    とういうか、windowsでx32apiのバイナリ動く(ある)のけ

    mingw64は
    i686-w64-mingw32
    x86_64-w64-mingw64
    で64bit/32bit環境を混在させないようにしてる

    clangはこれからでしょ、まだ枯れてないような
    49 : デフォルトの名無 - 2013/02/09(土) 19:12:32.95 .net (+3,-30,-39)
    mingw初心者で解らんから聞くけど
    i686-w64-mingw32 (i686, w64, mingw32)
    x86_64-w64-mingw64 (x86_64, w64, mingw64)
    の各部は何を意味するですか
    50 : デフォルトの名無 - 2013/02/09(土) 19:16:55.87 .net (-11,-29,+0)
    ggrks
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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