1 名前:デフォルトの名無しさん [2008/09/13(土) 00:38:02 ] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: cygwin + mingwn + gcc 相談室 Part3 pc11.2ch.net/test/read.cgi/tech/1177944767/ 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について part8 pc11.2ch.net/test/read.cgi/tech/1192201659/ 【激遅】AppleGCC【絶望】 pc11.2ch.net/test/read.cgi/tech/1173267844/
610 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 12:13:03 ] キター
611 名前:デフォルトの名無しさん [2009/10/09(金) 12:13:13 ] MinGWでUnicodeアプリケーションが作れないのだろうか?
612 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 12:30:05 ] >>611 Unicodeアプリケーションが何を指してるのか知らないが、 俺はutf-8でソースコード統一して書いてるけど正常に動作してるよ。 内部での文字列比較とか問題なく動く。
613 名前:612 mailto:sage [2009/10/09(金) 12:30:54 ] ただし、外部から入力される文字列は全部utf-8に変換してるけど。
614 名前:デフォルトの名無しさん [2009/10/09(金) 12:52:38 ] __wargvが使えないみたいだけど。
615 名前:614 [2009/10/09(金) 14:25:00 ] CommandLineToArgvWを使うことにした。
616 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:36:12 ] >>607 入れたd On Demand Installの方はバグがあるらしく途中で止まるな 26.2MBの方を落としてインストールすればOK
617 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:03:53 ] おおホントだ。 上で既出だけどパピコ。 TDM's GCC/mingw32 Builds ttp://www.tdragon.net/recentgcc/ NOTICE: The 4.4.1-tdm-2 release is now available. If you were using the first 4.4.1 release, you are urged to upgrade to this new version in order to avoid a bug that caused drastically increased CPU usage in programs compiled with the first version.
618 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:26:32 ] ちゃんと測定したわけじゃないんだが、4.3.3より4.4.1-tdm-2の方がかなりコンパイル速くなってる 気がする。 環境が違うんで単純には比較できないけど、wxWidgets2.8.10の全種類(8種類)のライブラリのビルドに 4.3.3の時は12時間近く掛かってたのが、今日、自宅のマシン(もう4年位前のたいしたことないPC)で やってみたら3時間くらいで終わった。
619 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 22:07:09 ] >>618 きみ、前にC::Bのスレにいた子?
620 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 22:17:00 ] >>619 50前だが。
621 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:52:05 ] mingw 上でなにか make しようとすると 大抵 libintl.la がとか gettext がとか文句を言われて コンパイルできない gnuwin32.sourceforge.net/packages/gettext.htm ここにバイナリが置いてあるかと思い落としてきてみるも libintl3.dll とかよくわからないファイルが入ってます… これを libintl3.dll -> libintl.la として動かすこと できるでしょうか? sourceからbuildしないと駄目なのでしょうか もしそうだとすると複数の窓環境にインストールするとか 不便すぎる mingwを入れて perl5.8.1以上をmingw上の/usr/bin下にインストールして gettetxt を make して、ようやく目的のソフトに取りかかれるorz
622 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:56:45 ] というかmingw のperl は5.6.1でそのままだと gnu のソフトがビルドできないような…
623 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:30:37 ] >>621 それを「よくわからないファイル」とか言ってしまう奴がなんで mingw 使ってんの? Developer files や Dependencies も必要。 全部スタティックリンクにしたいならソースからビルド。
624 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:23:23 ] msysのパッケージ管理が今ひとつだからね。 fedoraでmingw32のパッケージ入れて、クロス開発する方がいいかも
625 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:50:01 ] う、うん……(´・ω・`)
626 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:06:33 ] gcc-tdmと、sourceforge.jp/projects/sfnet_mingw-w64/ はどっちがいいのか教えて。 サイズ的には、mingw-w64のほうが多いけどこっちの方が性能上?
627 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:10:46 ] >>626 そんなのあるんだー。 前者はTDM/MinGW Installerってやつだよね。 インストーラ.exeの形で配布されているけど、 後者は初めて見た。 これもインストーラだったかい?
628 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:14:27 ] mingw-w32-bin_i686-mingw_20091013.zip っていうやつ今落としてるところ。 サイズが200M超えていて、回線遅くて中身がどうなっているか確認できていない。
629 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:19:48 ] 書庫形式でTDM/MinGWのサイズ8倍あるから こっち入れれば何でもコンパイルできるんじゃないかとわくわくしてる所。 たとえばffmpegが追加なしで出来たりとか。
630 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:06:43 ] どうせAdaとかFortranとかObjective-Cが入っているだけだろうと予想
631 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:07:00 ] さっさと普通にGCC4 & 64bit対応になれよ。
632 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:19:04 ] MinGW-w64 - for 32 and 64 bit Windows
633 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:20:28 ] >>632 別のプロジェクト作るなってこと。 mingwの公式はここだけだ。 www.mingw.org/
634 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:22:34 ] 本家は、停滞してるからね
635 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:21:22 ] そう,だから最近はTDM's branch使う人が増えてるわけで...
636 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 08:02:03 ] >>629 単にビルドされたgccのファイルに stripをかけてないだけだったりして。 ちなみに cc1.exe strip前 約40M strip後 約8M
637 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:07:48 ] TDM/MinGWは便利。 いちいちビルドする気力がでない俺には最適。
638 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:06:48 ] すんまそん。libgmp-3.dllとlibmpfr.dllどうやったら手に入りますかね。
639 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 02:22:17 ] ttp://sourceforge.net/projects/mingw/files/ ttp://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gmp-4.2.4-mingw32-dll.tar.gz/download ttp://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/mpfr-2.4.1-mingw32-dll.tar.gz/download
640 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 19:02:16 ] >>639 thx 助かりました。
641 名前:デフォルトの名無しさん [2009/10/23(金) 00:45:53 ] linux&gcc-4.2.4で下のコードをコンパイル後nmでみると "W"(大文字:デフォルト実装付きweak)となるけど、 cygwin&gcc-4.3.2だと"w"(小文字:デフォルト実装無し weak)になる。4.2->4.3で仕様が変わった? それともPEフォーマットのせいですか? -------------------- __attribute__((weak)) void func(void) {}
642 名前:SgqcXuBDWWHrdWG mailto:6kgk1moeja.@gmail.com [2009/10/23(金) 22:24:58 ] If you do have a choice of surgeon or hospital, ask the surgeon the following questions: What are your qualifications? ,
643 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 10:04:51 ] On some systems, uppercase indicates that a default value has been specified.
644 名前:デフォルトの名無しさん [2009/11/02(月) 03:00:41 ] MinGW g++ 3.4でビルドして作成したライブラリを MinGW g++ 4.4.0でビルドしたソースとリンクして使用できますか?
645 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 08:29:01 ] >>644 丁度Qtでそれに引っ掛かって,某フォーラムでバイナリの互換性がないことを 教えてもらったばかり。 但し,俺のところではTDM's MinGW gcc(g++) 4.4.1で,本家MinGW g++ 3.4.5で ビルドしたライブラリが使えている(完全に大丈夫かどうかは不明)。 本家のg++4.4.0は,本家g++ 3.4.5でビルドしたライブラリが使えない。
646 名前:デフォルトの名無しさん [2009/11/02(月) 15:43:12 ] >>645 情報ありがとうございます。 やっぱり使えないんですね。
647 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 02:57:00 ] MinGWでビルドしたdllと、それをダイナミックリンクしているexeの組み合わせが Windows7で動作しない(DLLを読み込めていない?ちなみにXP/VistaではOK)らしいのですが、 Win7との相性についてどこかに情報ありますでしょうか? 自分で試せるのはXPとVistaだけなので状況がさっぱり...
648 名前:デフォルトの名無しさん [2009/11/03(火) 21:10:43 ] He_251110.bz2
649 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:35:50 ] ttp://www1.axfc.net/uploader/He/so/251110
650 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:45:52 ] export PATH=$PATH:/mingw/bin:/mingw32/bin:/usr/local/bin:$HOME/local/bin export GCC_VER="4.4.0" export LIBRARY_PATH=/mingw/lib:/mingw32/lib:/mingw/lib/gcc/mingw32/${GCC_VER}:/usr/local/lib:$HOME/local/lib export LD_LIBRARY_PATH=$LIBRARY_PATH export LD_RUN_PATH=$LIBRARY_PATH export INCLUDE_PATH=/mingw/include:/mingw32/include:/mingw/lib/gcc/mingw32/${GCC_VER}/include:/usr/local/include:$HOME/local/include export C_INCLUDE_PATH=$INCLUDE_PATH export CPLUS_INCLUDE_PATH=$INCLUDE_PATH コンパイルに必要な環境変数を.bashrcにかいたのだが あと何か定義しておいたらいい環境変数はある?
651 名前:デフォルトの名無しさん [2009/11/03(火) 21:55:29 ] INCLUDE_PATHにlibのpathって入れるんだっけ
652 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 09:54:35 ] >>651 gcc3系統とgcc4系統ではディレクトリ構成が変わっていて,gcc4系統の場合はlibの奥にもヘッダファイルが あるので,入れる必要があります。
653 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 23:32:49 ] MinGW使うなら、PATH以外の環境変数は設定いらなくね?
654 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:01:10 ] 友達がプログラミング勉強したいっていってるんだけどやっぱ 進める環境としてはdev c++ とmingwがいいかな
655 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:03:49 ] VC2008EEじゃねーのか?
656 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:11:45 ] >>654 単にプログラミングの勉強ならば、 WindowsでVisualBasicが面倒なくて鉄板でしょ。 Unixの世界は、環境構築とツールの使用法の習得だけで 挫折する人がいるくらいのカオスな世界だから、 できれば知らない方が幸せよ。
657 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:34:09 ] >>656 > 単にプログラミングの勉強 変ったジャンルですね。
658 名前:654 mailto:sage [2009/11/07(土) 04:16:13 ] >>656 僕的にはdev c++のほうがインストールが早いし、設定、認証が要らないから こっちのほうが簡単だと思うんですけどね。やっぱVCとかVBですかね
659 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 08:45:22 ] Dev-C++はTDM-MinGWと組み合わせて俺もインストールしてあるけど 何と言ってもメニューが全部英語なのと、gccそのものがオプションが複雑で 決して初心者向けではないという事情を考えてVCを推している でも自分でその壁を乗り越えられる人であればgccの方が標準準拠度は 高い
660 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:56:55 ] お勉強ならLL言語でいいでしょ。 CUIベースでC, C++なんてやってもイベント丼の概念が理解できなくなる。
661 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:22:10 ] つまり Tcl/Tk やっとけということだな
662 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:30:47 ] >>659 日本語化されたのが、確か2つくらいあったはず。sけいし氏のヤツは割りと有名 かと思ってたんだがそうでもないのか。 一時VC2003と交互で使ってたけど、x64環境に移行してからはVC2008しかt これ以上はスレチだな。
663 名前:デフォルトの名無しさん [2009/11/10(火) 00:33:10 ] Dev-c++ と一緒に入ってくる gcc3.4.2 を TDM-MinGW gcc4.4.1 に入れ替えたのですが、 gcc3.4.2 ・iostreamをincludeするだけで、EXIT_SUCCESSマクロもatof()関数も使用できた ・iostreamをincludeするだけで、clock()関数が使用できた gcc4.4.1 ・cstdlibをincludeしないと、EXIT_SUCCESSマクロもatof()も使用できない ・ctimeをincludeしないと、clock()関数が使用できない という挙動になります。 どっちが正しいんですか?
664 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:38:09 ] >>663 4.4.1 の方がより規格に沿っていると言える。
665 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:46:28 ] MinGWで日本語を表示するにはどうすればいいんですかー?(>_<)
666 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:49:25 ] >>665 -finput-charset=cp932 -fexec-charset=cp932 をコンパイル時に付ける するとEUCに変換してからコンパイルしてくれるのでダメ文字の問題は起きない
667 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:51:16 ] UTF-8
668 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 11:09:43 ] >>666 それ、本家MinGWのgcc4系だと効かない。cc1.exe、cc1plus.exeにやlibiconvがリンクされてないんだそうだ。 gcc3.4.5のcc1とcc1plusで上書きすればOKという情報もあるけど、俺のところじゃダメだった。 TDM's MinGW gcc4.4.1なら大丈夫。 >>667 もちろんそれでもOK。ただ、これまでに書きためた大量のSHIFT_JISのソースを使ったり、 3rd Partyのヘッダーファイル(例えば何等かのIOボードにボードに付いてくるライブラリの ヘッダーファイル)を使ったり、他のコンパイラと共用するソースファイルを使ったり する場合にはそうも行かない場合もある。
669 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:34:19 ] 665ですが、IDEの起動オプションをUTF-8にしたら表示されました。 お騒がせしました。
670 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:17:35 ] >>668 Windowsのシステムロケールを日本語から英語に変更するといい
671 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:16:57 ] >>668 既にバイナリの gcc 4 がある状況なら gcc 4 をビルドするのはたやすい。 libiconv 有効にしてビルドしれ
672 名前:668 mailto:sage [2009/11/22(日) 00:12:22 ] >>670 レスサンクスなんだが... > Windowsのシステムロケールを日本語から英語に変更するといい これは >>668 に書いたうちの、どのことについて言ってるの? >>671 > 既にバイナリの gcc 4 がある状況なら > gcc 4 をビルドするのはたやすい。 > libiconv 有効にしてビルドしれ あぁそれでいいのか。アリガト。 ただ最近ビルドしてばかりしていてチト疲れた。 本家MinGWの最新バイナリインストーラー(5.1.6)のgccは4.4.0でなかったり、 libiconvがリンクされていない抜けがあったり、更新が遅かったりで、 TDM版の方が信頼できると感じてる。 TDM版の最初の4.4.1でCPU利用率が100%近くになってしまう問題が発覚した 時もHPの上の方に「Warning!」としてちゃんと説明が書いてあったし、修正の 対応も比較的早かったしね。 それと試してないんだけど、>>556 の問題も気になる(TDM版固有の問題なのか、 gccのバージョンの問題なのか) 。 とりあえずTDM版4.4.1で問題ないので、俺は当面これで行こうと思う。
673 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:33:54 ] >>672 インストーラが 4.4.0 を入れないのは怠慢ではなくて、そういう選択をしたのだと思う。 まだ実績が不充分ってこともあるし、互換性の問題もある。 エンドユーザーにはなるべく枯れたバージョンを提供する方がいいという考え方はあり得る。 libiconv のリンクも、世界全体から見れば案外少ない状況でしか必要としないし、 そもそもソースコードにマルチバイト文字列をハードコーディングするのは悪いスタイルだよ。
674 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:41:23 ] よがりごえ
675 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 10:55:24 ] >>673 本家擁護も結構だが、 > インストーラが 4.4.0 を入れないのは怠慢ではなくて、そういう選択をしたのだと思う。 > まだ実績が不充分ってこともあるし、互換性の問題もある。 そんなに4.4.0に不安があるのなら、gccだけ独立して正式リリースにしなければいいのに。 そもそも本家はgcc3系とgcc4系でバイナリの互換性がなくなってしまった。 ディレクトリ構成も大きく変更してしまった。 これって良いことなのか? > エンドユーザーにはなるべく枯れたバージョンを提供する方がいいという考え方はあり得る。 エンドユーザーが自分で選択できるようにすればよいだけの話し。 > libiconv のリンクも、世界全体から見れば案外少ない状況でしか必要としないし、 そう。そういう少数派への配慮が足りない所が問題。 > そもそもソースコードにマルチバイト文字列をハードコーディングするのは悪いスタイルだよ。 余計なお世話。そんなのは状況次第。 日本人の工場オペレーターしか使わないことがわかっているソフトだったら。 ハードコーディングしてしまった方が、短い工数で作れる。 多国語対応する必要があるソフトなら、リソースDLL使うとか、独自のライブラリで言語設定に あわせてファイルから文字列を読込むとかしてる。
676 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:14:30 ] >>675 > そんなに4.4.0に不安があるのなら、gccだけ独立して正式リリースにしなければいいのに。 > エンドユーザーが自分で選択できるようにすればよいだけの話し。 大半のユーザーはとりあえずバージョンナンバーが大きい方を選択してしまうよ。 エンドユーザーってのはそんなもんだろうが。 > そもそも本家はgcc3系とgcc4系でバイナリの互換性がなくなってしまった。 > ディレクトリ構成も大きく変更してしまった。 バイナリ互換性が維持されればそれに越したことはないんだけど、 これは根本的な設計から大幅に変わってしまったので、仕方ないとしか… > そう。そういう少数派への配慮が足りない所が問題。 > 余計なお世話。そんなのは状況次第。 配慮したらその分だけファイルサイズも増える。 少数派に配慮したら多数派に多少なりとも不便を強いるじゃないか。 ファイルサイズ程度なら些細な問題だけど、依存ライブラリが増えると管理が面倒なんじゃね? これは開発リソースの割り振りの問題だろう。 それに意見する方が余計なお世話ってもんだろ。 開発状況は libiconv をリンクしたくない状況だったんだろ。
677 名前:デフォルトの名無しさん [2009/11/22(日) 15:55:37 ] >>676 > 大半のユーザーはとりあえずバージョンナンバーが大きい方を選択してしまうよ。 > エンドユーザーってのはそんなもんだろうが。 何が言いたいのかわからん、俺には>>673 に書いてあることと矛盾してるようにしか 受け取れない。悪いがちゃんと説明してくれないか? > バイナリ互換性が維持されればそれに越したことはないんだけど、 > これは根本的な設計から大幅に変わってしまったので、仕方ないとしか… TDM版gcc4.4.1は本家のgcc3.4.5とバイナリレベルの互換性を保ってるよ。 > これは開発リソースの割り振りの問題だろう。 > それに意見する方が余計なお世話ってもんだろ。 > 開発状況は libiconv をリンクしたくない状況だったんだろ。 ファイルサイズの話はかなり無理矢理感があるなあぁ。 で。本家のgcc4.4.0の説明書き(gcc-4.4.0-mingw32-notes.txt)には、必要ファイルだけ 分割してダウンロードする場合、 > libiconv Runtime [REQUIRED] > libiconv-1.13-mingw32-dll-2.tar.gz と書いてあるんだが(つまり必須と言うこと)。リンクを怠ったか、ドキュメントの修正を 怠ったかのどっちかだとしか思えない。どっちみち瑕疵であることに変わりはない。 で、TDM氏のHPには、 > TDM-GCC is not formally affiliated with or endorsed by the MinGW project > (although several MinGW team members make use of it) なんて書いてある。それなら性格がきっちりしていそうなTDM氏に本家のチームに 加わってもらえば、もっと良くなると思うんだが...
678 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:17:53 ] >>677 > 何が言いたいのかわからん、俺には>>673 に書いてあることと矛盾してるようにしか > 受け取れない。悪いがちゃんと説明してくれないか? 問題点を認識せずにとりあえず最新版を入れてしまうユーザーもいるから インストーラは 4 を選ばせないようにしたんじゃね? と言いたかった。 > TDM版 gcc4.4.1 は本家のgcc3.4.5とバイナリレベルの互換性を保ってるよ。 んなわけねーだろ。 何が出来ることをもってバイナリ互換性って呼んでるの? > ファイルサイズの話はかなり無理矢理感があるなあぁ。 そりゃそーだ。 だから些細なことって書いてるだろ。 結論は開発リソースの割り振りだ。 どっかには問題が残ることもあるだろうさ。 リソースは有限だし、どの問題をどこまで解決するか、 時には手抜きするのもひとつの選択だということだ。 TDM 版だって致命的な問題があったものを警告を書くだけで出したわけだろう? 本家じゃやっちゃいけないことだけど、 TDM 版はそれでも出すという選択をしたわけだ。 一応誤解が無いようにいっとくけど、俺は本家を擁護したいわけじゃないよ。 どこを重要視するかが違うだけのことであって、どっちが良いとか言えるものじゃないというのが俺の主張。 もちろん、本家がよりよくなってくれるのが最も望ましい。
679 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:31:45 ] >>678 > 問題点を認識せずにとりあえず最新版を入れてしまうユーザーもいるから > インストーラは 4 を選ばせないようにしたんじゃね? と言いたかった。 了解。ただ、インストーラーでgcc3.4.5をインストールした後でgcc4を入れようと思うと簡単じゃない (ディレクトリ構成が変わっているから戸惑う)。そういう点で問題だと俺は言いたい。 > んなわけねーだろ。 何が出来ることをもってバイナリ互換性って呼んでるの? GUIツールキットQt 4.5のMinGW用のバイナリインストーラーでインストールされるライブラリは本家の gcc3.4.5でビルドされたものだが、TDM gcc4.4.1でビルドしたアプリからちゃんと使えた。 ところがQt 4.6のbeta-1には、本家のgcc3.4.5でビルドされたライブラリの他に、本家のgcc4.4.0(Qtライブラリ ではなくてコンパイラそのもの)もバンドルされてきた。ところがこの4.4.0でアプリをビルドすると、エラーが 出てしまう(3.4.5でビルドされたライブラリと互換性がない)。 Qt 4.6 RCになって、ライブラリも本家のgcc4.4.0でビルドされたものに変わった。そうしたら今度はアプリを TDM gcc4.4.1でビルドするとエラーが出る。仕方なくQt 4.6 RCのソースからTDM gcc4.4.1でQtをビルドしたら うまく行った。これでわかるだろ? > TDM 版だって致命的な問題があったものを警告を書くだけで出したわけだろう? > 本家じゃやっちゃいけないことだけど、 TDM 版はそれでも出すという選択をしたわけだ。 出した後から発覚したんで、緊急で警告を書いたんだよ。だから「修正するまで、一つ前の4.3.3を使ってくれ」 って書いてあった。テストが足りなかったのは確かだが、やるべきことを迅速にやっている。 本家はlibiconvがリンクされていなくても、アナウンス一つしてないんじゃないか?3系と4系でバイナリ互換性 がないというアナウンスも何処かにある? > もちろん、本家がよりよくなってくれるのが最も望ましい。 俺だって本家を貶すのが目的じゃない。ただ、もっとしっかりしてくれと言いたい。 現状だとTDM版の方が良い選択だと言わざるを得ない状況だ。
680 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 20:33:05 ] >>679 > 了解。ただ、インストーラーで gcc3.4.5 をインストールした後で gcc4 を入れようと思うと簡単じゃない > (ディレクトリ構成が変わっているから戸惑う)。そういう点で問題だと俺は言いたい。 単に展開するだけだし、俺はディレクトリ構成が変わっていることに気づいてさえいなかったぜ!! (後から気付いたけど。 これは俺がいいかげんなだけかもしれん。) > GUIツールキットQt 4.5のMinGW用のバイナリインストーラーでインストールされるライブラリは本家の > gcc3.4.5でビルドされたものだが、TDM gcc4.4.1でビルドしたアプリからちゃんと使えた。 TDM がどうとかいう以前に gcc の変更だ。 実験してみた結果がどうあれ偶然。 何が起こってもおかしくない。 鼻から悪魔。 > ところがQt 4.6のbeta-1には、本家のgcc3.4.5でビルドされたライブラリの他に、本家のgcc4.4.0(Qtライブラリ > ではなくてコンパイラそのもの)もバンドルされてきた。ところがこの4.4.0でアプリをビルドすると、エラーが > 出てしまう(3.4.5でビルドされたライブラリと互換性がない)。 エラーの内容が気になる。 エラーが単なる undefined reference の場合、環境構成上のしょーもないことである場合がある。 > テストが足りなかったのは確かだが、やるべきことを迅速にやっている。 迅速だけどテストが足りなかったんだろ。 だからそれは単にスタンスの違いなんだって。 > 本家はlibiconvがリンクされていなくても、アナウンス一つしてないんじゃないか? required の記述が間違っとるが、どれどれをリンクしたなんていちいち書くかよ。 > 3系と4系でバイナリ互換性がないというアナウンスも何処かにある? これは常識だと思ってたから疑わなかったけど、一見さんにわかる形では無いかも。 GCC のサイトの方にも目立つようには書いてない。
681 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 21:06:27 ] きめえ話してんじゃねーよ オープンソースなんだから好きにやれや
682 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:09:05 ] >>681 まったくそのとおりだ。 だから好きに議論する。 便宜上「本家」なんていってるがそれほど絶対的なものではない。 それぞれのスタンスがあるのは当然。 と、言うわけで >>679 が主張するように「TDM 版の方が良い選択」 とする主張を否定するわけじゃないし、その主張が正しいと言える状況はあるんだろう。 でも、そうじゃない状況もある。 それだけの話。
683 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:19:01 ] 話長いw
684 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:49:18 ] >>680 > 単に展開するだけだし、俺はディレクトリ構成が変わっていることに気づいてさえいなかったぜ!! > (後から気付いたけど。 これは俺がいいかげんなだけかもしれん。) 環境変数変えなきゃダメだろ?本当に動かしてみたんかね? 少なくともC_INCLUDE_PATHやCPLUS_INCLUDE_PATH、LIBRARY_PATHは変更する必要がある。もしかして単に 展開しただけで環境変数変えてないから、gcc4.4.0使ってるつもりで実は3..4.5のままだったりしてw > TDM がどうとかいう以前に gcc の変更だ。 実験してみた結果がどうあれ偶然。 > 何が起こってもおかしくない。 鼻から悪魔。 (中略) > > 3系と4系でバイナリ互換性がないというアナウンスも何処かにある? > > これは常識だと思ってたから疑わなかったけど、一見さんにわかる形では無いかも。 > GCC のサイトの方にも目立つようには書いてない。 そんないい加減な情報じゃなくて、しっかり「ここに書いてある」って示して欲しい。そうじゃないと、アンタに「偶然」 だの「鼻から悪魔」なんて書く資格はない。単に実験のレベルじゃないよ。暫く使ってるが、何の問題もない。 > > テストが足りなかったのは確かだが、やるべきことを迅速にやっている。 > > 迅速だけどテストが足りなかったんだろ。 だからそれは単にスタンスの違いなんだって。 違う。本家はアナウンスすべきことをアナウンスしていない。例えば、MinGW5.1.6のgccは4.4.0じゃなくて3.4.5だって ことはどこに書いてある?要するにいい加減すぎるんだよ。「スタンスの違い」ってのが「ユーザー重視」と「ユーザー 軽視」の違いってのなら納得できるが。 例えば、ttp://www.mingw.org/wiki/GCCStatus は2009-04-20 以降更新されておらず、現状と合ってない。 SourceForgeのファイルツリーを見ても、「Automated MinGW Installer」のところにリリースノートすら置いてない。
685 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:57:14 ] MinGW、いったいいつになったら gcc4採用するんだよ・・・
686 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 01:04:40 ] goはbuildできますか?
687 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 01:14:41 ] 出来ません。
688 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 01:22:54 ] >>685 TDM-MinGWはとうにgcc4.4.1なんだが・・・
689 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 05:09:42 ] >>686 d.hatena.ne.jp/iasija/
690 名前:684 mailto:sage [2009/11/23(月) 07:36:00 ] >>685 本家MinGWだってMinGW5.1.6に含まれていないだけで、gcc 4.4.0は単独で「current release」になってるよ。 TDM版については>>688 の言うとおり。 長い話で悪かったが、そのことでずっと>>680 とやりあってたんだ。
691 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 14:28:16 ] そろそろ長話を止めてくれ
692 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:23:25 ] cygwinをアンインストールしたいんだがどうしても削除できないフォルダとファイルがある(Windows7) usr\sbin\sendmailとvar\cron\tabs アクセス許可云々と出てフォルダが削除できない 所有者が長ったらしい変な名前だったのでアクセス権を自分にしてもできない コマンドプロンプトや強制削除ソフトとか使っても無理 (あと一つ同じようなフォルダがあったがなぜか削除できた) どなたか知恵をおかしくだ足
693 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 04:19:25 ] msysでcoreを吐かせるにはどうすればいい? ulimit -a でみてもunlimitedになってるんだが・・・
694 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 15:23:07 ] >>692 どこかのプロセスのカレントフォルダや オープンしているファイルなどが、そこのフォルダにあると 消せないみたいだよ。 そこにアクセスしているプロセスを終了すればいいと思うけど、 たぶんわからないのだろうから、一回ログオフするか再起動すれば消えるはず。
695 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 15:44:01 ] 今TDM版MinDW gcc4.4.1-2のテストを行っています 今までは日本語入出力の問題があってgcc3.4.2を使っていました あるプログラムを-O3でコンパイルしてみると両方とも10分程度で終わるのですが 3.4.2のほうが20%ほど早くなりました 途中のlogと結果を見るとどちらも-O0の時と同じように動いているように見えます 実際にはこれからプログラムを書き直して10倍100倍の計算をさせたいと思っているのですが 書き方がよくなればTDMの方が早くなるようなものなのでしょうか?
696 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 18:58:14 ] ぶっちゃけ状況による。 3 と 4 はかなり根本から変わってしまってて、 最適化フェイズの構成からして違う。 どちらが速くなるかは実測するべし。
697 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 19:48:13 ] >>696 レスありがとうございます インストールがめんどくさいですが、 両方でコンパイルしてみて試して見ることにします
698 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 11:23:39 ] え?例えばc:/gcc4/とc:/gcc3/に解凍して 環境変数を使い分ければいいだけの話でないの
699 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 22:59:58 ] mingwのgcc4は for(i=0;i<10;i++){ for(j=0;j<10;j++){ int a = i; } } みたいなことをしたときに、2重ループ内のiが未初期化だったことがあったのでgcc3に落とした。
700 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 23:03:38 ] それはないだろう
701 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 23:15:13 ] >>699 そんなこと無いだろjk おおかた中でiを新しく書いちゃったとかそんなレベルだろ?
702 名前:697 mailto:sage [2009/11/26(木) 23:30:39 ] >>698 それが私は、MinGWよく知らないでgcc使っているもので。 最近は、cmd環境に行ってdoskey定義バッチ起動してディレクトリ移動するのが面倒くさくて プログラムごとにこんなバッチ作ってウィンドウ環境で作業してます g++ -o backend.exe backend.cpp 2>errout.txt type errout.txt pause たまにgrepとdiffとか使うときはウィンドウ環境のものを使えばいいし、makeもこんな感じでやっています したがって環境変数変えるのも結構面倒です この場合は別のバッチ作っておいて環境変数変えるバッチをcallすればいい気もしますが ぱっと見た感じLIBもINCLUDEも無いのでpathを変えるだけでいいのでしょうか? msysがMinGWのディレクトリ聞いてくるのもmsys環境でマウントするディレクトリを変えてるだけならいいのですが あまり高度なことはできないので インストーラで別ディレクトリに2つインストールしておいてpathを変えるだけでいいのでしょうか? 頻繁にコンパイラ変えないならインストールし直した方が早い気もしますが
703 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 23:38:00 ] >>702 これお前だろ pc12.2ch.net/test/read.cgi/tech/1256645713/160
704 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 23:42:50 ] localeまわりは絶対パスだけど、他は相対パスで動いてたような?
705 名前:699 mailto:sage [2009/11/27(金) 00:29:56 ] gcc3やPGIやvcでちゃんと動いていたプログラムだったんだけど。
706 名前:デフォルトの名無しさん [2009/11/27(金) 01:17:24 ] 質問 Eclipse 3.4.2 / Pleiades All in One の C/C++(MinGW) を使ってるんだけど ワークスペースに、「実行可能プロジェクト」(A.exe)と「共有ライブラリプロジェクト」(B.dll)を作って A.exeのライブラリにB.dllをリンクして使いのだけど、実行もデバッグも出来ない。 だけど、A.exeと同じフォルダ(たとえばDebug)にB.dllをコピーすると、実行できたりデバッグ出来る。 VisualStudioみたいに、参照設定しただけじゃダメで、コピーまでする必要があるの? 面倒なんだけど、みなさんDLL作って、EXEから呼び出す時ってどうしてんの?
707 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 01:21:23 ] __,,/ _, ----`ヽ :. :. / _ ___ 、\ / / i \ \\ :. :. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ ,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :. :. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ} |i .i l :N_, -弋 \弌弋ナ:}:.:} :. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な… .| :メヽ.', `ozZ} izN。ハ::{ なんなんだよもん? :. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :. ここ、どこだよもん? | :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ なんであたし :. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:. 貼られたんだよもん? / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\ :. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:. / / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ', ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ', { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.} V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧| ヽ! )人 : : :人 : : : / \! :. " ヽ : : : : :/イ{ :.ノ: : : :.\ :. :. \__///: :\______/: : : : : : : ヽ / //: : :|;|: : : : : : i: : : __: : : : ', :. / 、 {;{ |;| . : i/. : : : : : :| / `Y;{. . . .|;|. : : : /i: : : : : : : : :l
708 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 02:06:49 ] 「共有ライブラリプロジェクト」(B.dll)をPATHに追加すれば
709 名前:706 mailto:sage [2009/11/27(金) 02:22:35 ] Windowsの環境変数? 実行構成の環境変数に入れたときは、実行できるんだけどデバッグできなかったから Windowsの環境変数は試してない。 他にPATH追加するところあったっけ?
710 名前:デフォルトの名無しさん [2009/11/27(金) 14:58:02 ] virtual void hoge( void ) = 0; とやると undefined reference to `vtable for ... とエラーが出ます。 調べたところ virtual void hoge( void ) {}; としたらOKでした。 純粋仮想関数って使えないのでしょうか?