1 名前:デフォルトの名無しさん [2014/09/23(火) 00:20:11.40 ID:G97CLCj1.net] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: Cygwin + MinGW + GCC 相談室 Part 7 peace.2ch.net/test/read.cgi/tech/1357019230/ Cygwin + MinGW + GCC 相談室 Part 6 toro.2ch.net/test/read.cgi/tech/1304609116/ Cygwin + MinGW + GCC 相談室 Part 5 hibari.2ch.net/test/read.cgi/tech/1269400706/ Cygwin + MinGW + GCC 相談室 Part 4 pc12.2ch.net/test/read.cgi/tech/1221233882/ 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について part10 toro.2ch.net/test/read.cgi/tech/1315026784/
952 名前:はちみつ餃子 mailto:sage [2023/12/24(日) 15:28:23.49 ID:SfA3xmSz.net] >>951 > 64ビット環境では、sizeof(long) は「8」なのでは? 単にその認識が誤り。 64ビット版の Windows の ABI では long は 4 バイトと規定してる。 https://learn.microsoft.com/ja-jp/cpp/build/x64-software-conventions?view=msvc-170#scalar-types コンパイラが OS の規定に逆らって独自の仕様にしたってかまわないんだけど、 やりとりがややこしくなっちゃうだけで得なことはないからね。
953 名前:デフォルトの名無しさん mailto:sage [2023/12/24(日) 19:23:18.89 ID:zZdFC2zj.net] じゃあこの挙動で問題ないんですね。ありがとうございました。
954 名前:デフォルトの名無しさん mailto:sage [2024/05/29(水) 06:44:42.24 ID:85k4cg9J.net] mingw64でglibとgstreamerに動的リンクしたバイナリ作ったんだけど、glibは関数呼べるけどgstreamerは関数呼べない なぜかgstreamerの関数を書くとプログラムの起動がコケて関数をコメントアウトするとちゃんと起動する リンクがおかしいのかもと調べてみたけどちゃんと動的ライブラリはリンクしてるっぽい あと考えられるのは動的ライブラリの破損ぐらいなんだけど、お前ら何か考えつくことある?
955 名前:947 mailto:sage [2024/05/29(水) 07:56:37.14 ID:85k4cg9J.net] gstreamerのバージョン下げたら解決した
956 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 21:47:14.13 ID:Ate4RGLQ.net] VC6時代のソースをビルドしてlddで見ると以下のようになった ntdll.dll KERNEL32.DLL KERNELBASE.dll msvcrt.dll VC22は以下 ntdll.dll KERNEL32.DLL KERNELBASE.dll ucrtbase.dll VCRUNTIME140.dll 上のmsvcrt.dllの代わりに下のucrtbase.dllとVCRUNTIME140.dllでビルドできないか ファイルサイズがstripしてもVC22の10倍になってしまいmsvcrt.dllを疑っている バージョンは gcc version 11.2.0 (Rev6, Built by MSYS2 project)
957 名前:デフォルトの名無しさん mailto:sage [2025/01/05(日) 11:05:05.31 ID:0SlvKtyY.net] hosyu
958 名前:デフォルトの名無しさん [2025/03/09(日) 23:22:05.65 ID:sClrYMAa.net] もう8時間もビルドしてるんだが? いつ終わるんだ
959 名前:デフォルトの名無しさん [2025/03/10(月) 00:26:15.12 ID:L5uR+Msw.net] 何を?
960 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 10:28:51.60 ID:L5uR+Msw.net] 終わったかな?
961 名前:デフォルトの名無しさん [2025/03/10(月) 15:40:18.94 ID:3GRyZaix.net] コンパイルだけで14時間かかった インストールでエラーが出て終了
962 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 23:09:09.64 ID:L5uR+Msw.net] 何を?
963 名前:はちみつ餃子 mailto:sage [2025/03/11(火) 09:58:54.15 ID:GvJGmymX.net] スレの主旨からすると GCC のコンパイルかな? ただでさえ時間がかかるのにステージ3までやったら単純に三倍ってことだからなー
964 名前:デフォルトの名無しさん mailto:sage [2025/03/12(水) 15:30:34.03 ID:aNDBBqWo.net] cygwin使うって事はwindowsの人なんだろうけど gccをバイナリじゃなくてソースから入れたがる理由はなんだろ
965 名前:はちみつ餃子 mailto:sage [2025/03/12(水) 15:43:42.31 ID:cxKhqENs.net] クロスコンパイル環境を構築するときはバイナリが見当たらないということもある。
966 名前:デフォルトの名無しさん [2025/03/13(木) 04:45:54.85 ID:eyMSpLdK.net] 解決しました cgwinじゃなくてlinux環境のgccです GCCについてのスレがDAT落ちしてたので藁をもすがる思いでこちらに書きました gitから落とした某ソースをやってたんですがエラーログ見たら環境変数が不正だったので該当の.cに追記したら無事インストール出来ました 助かりました 遅いのはマシンスペックが大概なのもあると思います
967 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 11:20:49.35 ID:NvBr8oPw.net] > 藁をもすがる思いでこちらに書きました これまでの経緯見て通じてると思ってるところがZ チラ裏にでも書いて死んどけ
968 名前:デフォルトの名無しさん [2025/03/19(水) 11:43:06.67 ID:Irgid5LD.net] 初心者に厳しいっていうのはこんなところだな
969 名前:デフォルトの名無しさん mailto:sage [2025/03/19(水) 12:50:01.68 ID:0pCxXH7R.net] × 初心者 ○ 低知能馬鹿コミュ障クズ 他人が読んで分かるように書く気がないのなら、チラ裏か日記に書いとけ 相手のせいにするのはゆとりZクズの常套手段だが、そもそも何を知りたいのか分からんのでは答えようがない コミュ障馬鹿の為に一応定義しておくと、例えば、初心者に厳しい=低レベルの質問をした場合に無視or馬鹿にされる、だ エスパーしてでも回答しようとしてる奴も居るし、誰も該当しない
970 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 11:49:02.54 ID:b/nN/9NR.net] >>945 こうなるの分かってたでしょ なんで10や11にしなかったの?
971 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 14:19:58.73 ID:U6/Lg1xx.net] 判ってて使う分には問題無い
972 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 21:56:27.10 ID:cRNo9rU1.net] 使っててとくに問題なさそうにみえて実は非常にコアな部分でトンでもない不具合が生じていて 一見ふつうに動いているだけという可能性はある さりとて、じゃあMSYS2がサポートしてる環境下で「絶対に確実にすべてが問題なく動いている」という保証も じつのところないので、結局そういうことを気にしたら負け
973 名前:デフォルトの名無しさん [2025/06/26(木) 17:52:15.96 ID:nmyewptE.net] wsl2でlinux版のmingw使ってるけどすごくいいね gcc on linuxとgcc on mingw on linuxでlinux/winのバイナリを両方吐ける これからのクロス開発のスタンダードになるんじゃ?
974 名前:デフォルトの名無しさん mailto:sage [2025/06/26(木) 18:43:04.44 ID:JONMqo8w.net] 大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに言われても… ちなclangの方がひとつのコンパイラで複数ターゲットに対応できるからもっと簡単
975 名前:デフォルトの名無しさん mailto:sage [2025/06/27(金) 09:28:46.15 ID:H+pgJuGy.net] >>973 とっくになってるでしょ
976 名前:デフォルトの名無しさん mailto:sage [2025/06/27(金) 09:29:24.03 ID:H+pgJuGy.net] >大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに ほんそれ 開いた口が塞がらんわ
977 名前:デフォルトの名無しさん [2025/07/06(日) 09:46:03.14 ID:jyZjYPic.net] (たぶん)初心者が使ってて自分があっと気付いたから書いただけで、さも自分が発見しました!なんて言ってないだろ… そもそも毎スレ掘り返される話題だし、それで初心者を萎縮させるのはどうかと >>898 くらいまで発展的用法バリバリ使ってたら、お前ら叩かんやろ?
978 名前:デフォルトの名無しさん [2025/07/06(日) 10:20:31.05 ID:RFZXbMVg.net] いってるね
979 名前:デフォルトの名無しさん mailto:sage [2025/07/10(木) 02:15:09.38 ID:K1GlzFeW.net] これは言ってるようにしか読めないわ
980 名前:デフォルトの名無しさん [2025/07/15(火) 23:36:59.18 ID:hInNkoM6.net] ここの回答者クズばっかだな そら初心者こないわ
981 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 23:48:52.15 ID:bTX3ONQP.net] スレタイの初心者とは言え内容的にはプログラミング熟達者の方が多いから自力解決する事が多いのでは
982 名前:デフォルトの名無しさん mailto:sage [2025/07/15(火) 23:55:01.09 ID:Xa+JcFPE.net] 煽りとかそういうのでなく、純粋に意見として 今は初心者レベルの人はAIに聞いたほうがはるかに有用な答が得られる
983 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 00:05:19.73 ID:54zFMq80.net] 次スレ立てるときにはcygwinは控えめで MSYS2ルート(mingw64-gcc/clang/bash/各種ライブラリ等windowsネイティブポート) VSCodeルート(msys2導入せずmingw64コンパイラだけ導入) WSL2ルート のそれぞれで誰か説明したらwindowsプログラミング初心者(VSは使いたくない人)の助けになるかも >>982 AIでまとめて貰っても良いかも
984 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 03:12:54.62 ID:07jtrGs0.net] TDM-GCC64ってなんなん
985 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 16:55:53.12 ID:8VyoLyXs.net] >>983 gccの話なら開発環境は全部Linuxで済ませてWindowsはあくまでターゲットのひとつに留めといたほうが簡単で楽なんだけどね まあこのスレはcygwin/mingwのスレだからそれはスレチか
986 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 18:56:50.02 ID:uj9eYc0f.net] >>980 Visual Studioが至れり尽くせりなんだけど、それだけだとロックインするからスレタイの環境に興味がある人がいると思う ただしこのスレではMSYS2以外で導入していろんな墓穴を掘っている傾向がある とりあえずMSYS2導入(とその後のメンテ)をQiita/Zennで調べたら、初PCゲットしたてのスマホキッズでも躓く事は少ないのでは マルチプラットフォームアプリ開発等の必要性が出てきたらWSLにすれば良いかと
987 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 19:02:18.06 ID:uj9eYc0f.net] >>984 それは更新されてないから無視して良いかと >>986 にちょと書いたけど、初期導入以外にも本家gccへの追従更新やサードライブラリ追加導入の事も大切 そこがMSYS2が手頃なので
988 名前:デフォルトの名無しさん mailto:sage [2025/07/16(水) 19:04:00.62 ID:uj9eYc0f.net] もちろん「プログラミング熟達者」は好きにしたら良いと思う
989 名前:デフォルトの名無しさん mailto:sage [2025/08/22(金) 17:08:27.47 ID:3pyH/4Fj.net] Windows用Gitに、msys2由来のコマンド類が結構入ってるけど、 こっちはどれくらい使えるものなのだろう コンパイラは無い、というのはいいとして、 grep、sed、awkとから辺は入っているから とりあえずシェルスクリプトでちょっと何かをしたい、と 思った時とかは、Gitについてるコマンド類でも充分なのかな 正直、Windows用GitとCygwin+MinGWを導入していると、 gnu-utilsあたりのコマンドが両方入っているような感じで、 どっちかもう消したいんよね gitはWindows用Gitの方が都合がよいのでこちらを残すかと 思ってるのだが、なー
990 名前:デフォルトの名無しさん mailto:sage [2025/08/23(土) 21:23:36.16 ID:ophcDa1q.net] >>989 Git for Winのmingw環境は、あくまでもgitのためのものだからな bash、grepはじめ、UNIX的コマンドをより完全に使いたいのなら、 やはりCwgwin+MinGW+GCCかなと ただ、Gitをメインに据えたいというのなら、 逆にGitのMinGWにgccとかを入れていくのがよいかなと コマンドが足りなければその時にまた追加していく、で それでgit環境がおかしくなったら、涙を拭いて頑張る、になるが
991 名前:デフォルトの名無しさん mailto:sage [2025/08/24(日) 10:11:40.65 ID:FHs64gUC.net] 全部入りがいいならMSYS2でいい
992 名前:デフォルトの名無しさん mailto:sage [2025/08/24(日) 21:06:59.10 ID:JGmFRBjN.net] msys2で全部入り(随時追加)が良いよ 各ランタイムの開発環境(ucrt64,mingw64,clang64)の合計なんて30GBにも満たない 昨今の(mono)プロジェクト単位の依存関係インストールに比べたら軽いものでは
993 名前:デフォルトの名無しさん mailto:sage [2025/08/27(水) 03:14:16.66 ID:nJC8HQwX.net] windowsのパス環境変数取り合いになるからなあ こういうの 統合してほしい
994 名前:デフォルトの名無しさん mailto:sage [2025/08/27(水) 05:44:42.72 ID:F9vl64W8.net] そう言う疑問はmsys2インストールして環境別のショートカットを見たら直ぐに分かる
995 名前:デフォルトの名無しさん [2025/10/12(日) 05:50:47.01 ID:W2SaGlg4.net] >>992 でけーよ…
996 名前:デフォルトの名無しさん [2025/12/03(水) 11:41:04.56 ID:G3Cx7y7o.net] inline関数を使うときに VCだと inline int hoge(int fuga){ 中身 } で使えるのに mingw/gccとかだと static inline int hoge(int fuga){ 中身 } って描かないと使えない なんで? (.cに描くとか.hに描くとかそういうの無関係な話で)
997 名前:デフォルトの名無しさん mailto:sage [2025/12/03(水) 12:52:21.06 ID:yVL3HxQ8.net] 使えるよ リンカーエラーでも出てる?
998 名前:デフォルトの名無しさん mailto:sage [2025/12/03(水) 12:55:52.88 ID:yVL3HxQ8.net] あーわかった >>996 cではなくてc++でコンパイルしな?
999 名前:はちみつ餃子 mailto:sage [2025/12/03(水) 14:09:55.16 ID:OnxLfrF+.net] >>996 C ではインライン定義は外部定義 (external definition; 要するに普通の実体ある関数) の代替を与えるというルールで、インライン定義自体は外部定義を与えない (作らない)。 呼び出しのほうは実体のある外部定義を呼び出すか代用品であるインライン定義を使うかは未規定。 インライン化用の代用品を使うかもしれないし、実体のある関数を呼び出すかもしれない。 実体のある関数を使う選択をしたときに >>996 の状況では実体のある関数は作られていないから存在しないというリンカエラーになる。 GCC でも最適化オプションを付けてインライン化されてしまったときは (インライン化されたら関数をリンクする必要がないので) エラーにならずにリンクが完了することもある。 以下のように extern 付きの宣言を付けるとインライン関数定義から外部定義の生成を強制できるのでこれで対処することも出来る。 inline void foo(void) {} extern void foo(void); int main(void) { foo(); } C++ だとインライン関数がもう少し普通の関数と扱いが平等に近づいているので分かり易いんだが……
1000 名前:デフォルトの名無しさん mailto:sage [2025/12/03(水) 22:07:45.02 ID:Eh+HvnbR.net] らしいがこの人も勘違いしてそう https://zenn.dev/mod_poppo/articles/c-inline-function https://wocota.hatenadiary.org/entry/20090219/1235058524
1001 名前:デフォルトの名無しさん mailto:sage [2025/12/04(木) 05:43:42.35 ID:7puO0DHP.net] .hの方にinlineで .cの方にexternってことか 気持ち悪いけど納得