Cygwin + MinGW + GCC 相談室 Part 8

レス数が950を超えています。1000を超えると書き込みができなくなります。
2023/03/24(金) 14:33:04.65ID:A6TekdSG
sizeof(long double) == 16になったのは、いつから?
936デフォルトの名無しさん
垢版 |
2023/03/28(火) 17:22:29.83ID:hvNFNzxE
tdm-gcc良いんだがな
2023/03/30(木) 10:23:19.95ID:B7uoZJXZ
>>930
Mingw-builds じゃダメなのか?
俺も最初は TDM-GCC 使ってたけど、何時までも更新されないから Mingw-builds の 12.2.0 に乗り換えた
俺が使っている wxWidgets 3.2.2.1 も普通にビルドできたし、若干コンパイル速度も上がった気がする
(気のせいレベルかもしれませんが・・・)
2023/07/10(月) 11:59:21.63ID:YLTFTLfF
Windows7 64bitにMSYS2インストールしたら

The MSYS2 project no longer supports Windows 7 and 8.0.
For more information visit https://www.msys2.org/docs/windows_support

って黄色い字で表示されるようになった

とりあえずコンパイルとかはできてる
2023/07/11(火) 09:23:59.81ID:IUx5aYIs
>>938
左様でございますか
940デフォルトの名無しさん
垢版 |
2023/09/12(火) 12:30:45.63ID:QOX8wfhQ
それよりゲロ重いのが
2023/09/28(木) 08:25:12.03ID:C8Dm3tge
切磋琢磨
2023/09/28(木) 10:21:45.74ID:7+/lnWbq
そういやswingを低速言うてるけど
JavaFXのほうが初期化しめちゃめちゃ時間かかってもっさりしてるんだけど…
そしてmacでは未だにスレッド競合解決してない
swnigよりオワコンな気がする
943デフォルトの名無しさん
垢版 |
2023/10/10(火) 09:18:07.78ID:vCJOXgr3
スレチ
2023/12/24(日) 13:46:07.33ID:zZdFC2zj
質問です。

・ OS は windows10 で、最近 MinGW-w64 を導入した。
・ 下記の test.cpp ファイルに対して g++ -m64 -o test5 test.cpp と実行。

test.cpp
#include <stdio.h>
#include <stdint.h>
int main(){ printf("%d %x %zu", sizeof(long), sizeof(long), sizeof(long)); getchar(); return 0; }

・ 出力された test5.exe を実行してみると、なぜか「4 4 4」と表示されてしまい、
 「8」が1個もない。64ビット環境では、sizeof(long) は「8」なのでは?

・ test5.exe を右クリックして互換モードの欄を見てみると、
  Vista 以降のものしか表示されないので、
  ちゃんと64ビット版の実行ファイルになっている
  (他にも色々な確認方法があるが、いずれも64ビット版に合致する)。

・ それなのに「8」と表示されないのはなぜ?
2023/12/24(日) 15:28:23.49ID:SfA3xmSz
>>944
> 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 の規定に逆らって独自の仕様にしたってかまわないんだけど、
やりとりがややこしくなっちゃうだけで得なことはないからね。
2023/12/24(日) 19:23:18.89ID:zZdFC2zj
じゃあこの挙動で問題ないんですね。ありがとうございました。
2024/05/29(水) 06:44:42.24ID:85k4cg9J
mingw64でglibとgstreamerに動的リンクしたバイナリ作ったんだけど、glibは関数呼べるけどgstreamerは関数呼べない
なぜかgstreamerの関数を書くとプログラムの起動がコケて関数をコメントアウトするとちゃんと起動する
リンクがおかしいのかもと調べてみたけどちゃんと動的ライブラリはリンクしてるっぽい
あと考えられるのは動的ライブラリの破損ぐらいなんだけど、お前ら何か考えつくことある?
948947
垢版 |
2024/05/29(水) 07:56:37.14ID:85k4cg9J
gstreamerのバージョン下げたら解決した
2024/06/15(土) 21:47:14.13ID:Ate4RGLQ
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)
2025/01/05(日) 11:05:05.31ID:0SlvKtyY
hosyu
951デフォルトの名無しさん
垢版 |
2025/03/09(日) 23:22:05.65ID:sClrYMAa
もう8時間もビルドしてるんだが?
いつ終わるんだ
952デフォルトの名無しさん
垢版 |
2025/03/10(月) 00:26:15.12ID:L5uR+Msw
何を?
2025/03/10(月) 10:28:51.60ID:L5uR+Msw
終わったかな?
954デフォルトの名無しさん
垢版 |
2025/03/10(月) 15:40:18.94ID:3GRyZaix
コンパイルだけで14時間かかった
インストールでエラーが出て終了
2025/03/10(月) 23:09:09.64ID:L5uR+Msw
何を?
2025/03/11(火) 09:58:54.15ID:GvJGmymX
スレの主旨からすると GCC のコンパイルかな?
ただでさえ時間がかかるのにステージ3までやったら単純に三倍ってことだからなー
2025/03/12(水) 15:30:34.03ID:aNDBBqWo
cygwin使うって事はwindowsの人なんだろうけど
gccをバイナリじゃなくてソースから入れたがる理由はなんだろ
2025/03/12(水) 15:43:42.31ID:cxKhqENs
クロスコンパイル環境を構築するときはバイナリが見当たらないということもある。
959デフォルトの名無しさん
垢版 |
2025/03/13(木) 04:45:54.85ID:eyMSpLdK
解決しました
cgwinじゃなくてlinux環境のgccです
GCCについてのスレがDAT落ちしてたので藁をもすがる思いでこちらに書きました
gitから落とした某ソースをやってたんですがエラーログ見たら環境変数が不正だったので該当の.cに追記したら無事インストール出来ました
助かりました
遅いのはマシンスペックが大概なのもあると思います
2025/03/13(木) 11:20:49.35ID:NvBr8oPw
> 藁をもすがる思いでこちらに書きました
これまでの経緯見て通じてると思ってるところがZ
チラ裏にでも書いて死んどけ
961デフォルトの名無しさん
垢版 |
2025/03/19(水) 11:43:06.67ID:Irgid5LD
初心者に厳しいっていうのはこんなところだな
2025/03/19(水) 12:50:01.68ID:0pCxXH7R
× 初心者
○ 低知能馬鹿コミュ障クズ

他人が読んで分かるように書く気がないのなら、チラ裏か日記に書いとけ
相手のせいにするのはゆとりZクズの常套手段だが、そもそも何を知りたいのか分からんのでは答えようがない
コミュ障馬鹿の為に一応定義しておくと、例えば、初心者に厳しい=低レベルの質問をした場合に無視or馬鹿にされる、だ
エスパーしてでも回答しようとしてる奴も居るし、誰も該当しない
2025/03/22(土) 11:49:02.54ID:b/nN/9NR
>>938
こうなるの分かってたでしょ
なんで10や11にしなかったの?
2025/03/22(土) 14:19:58.73ID:U6/Lg1xx
判ってて使う分には問題無い
2025/03/22(土) 21:56:27.10ID:cRNo9rU1
使っててとくに問題なさそうにみえて実は非常にコアな部分でトンでもない不具合が生じていて
一見ふつうに動いているだけという可能性はある
さりとて、じゃあMSYS2がサポートしてる環境下で「絶対に確実にすべてが問題なく動いている」という保証も
じつのところないので、結局そういうことを気にしたら負け
966デフォルトの名無しさん
垢版 |
2025/06/26(木) 17:52:15.96ID:nmyewptE
wsl2でlinux版のmingw使ってるけどすごくいいね
gcc on linuxとgcc on mingw on linuxでlinux/winのバイナリを両方吐ける
これからのクロス開発のスタンダードになるんじゃ?
2025/06/26(木) 18:43:04.44ID:JONMqo8w
大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに言われても…
ちなclangの方がひとつのコンパイラで複数ターゲットに対応できるからもっと簡単
2025/06/27(金) 09:28:46.15ID:H+pgJuGy
>>966
とっくになってるでしょ
2025/06/27(金) 09:29:24.03ID:H+pgJuGy
>大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに

ほんそれ
開いた口が塞がらんわ
970デフォルトの名無しさん
垢版 |
2025/07/06(日) 09:46:03.14ID:jyZjYPic
(たぶん)初心者が使ってて自分があっと気付いたから書いただけで、さも自分が発見しました!なんて言ってないだろ…

そもそも毎スレ掘り返される話題だし、それで初心者を萎縮させるのはどうかと
>>891くらいまで発展的用法バリバリ使ってたら、お前ら叩かんやろ?
971デフォルトの名無しさん
垢版 |
2025/07/06(日) 10:20:31.05ID:RFZXbMVg
いってるね
2025/07/10(木) 02:15:09.38ID:K1GlzFeW
これは言ってるようにしか読めないわ
973デフォルトの名無しさん
垢版 |
2025/07/15(火) 23:36:59.18ID:hInNkoM6
ここの回答者クズばっかだな
そら初心者こないわ
2025/07/15(火) 23:48:52.15ID:bTX3ONQP
スレタイの初心者とは言え内容的にはプログラミング熟達者の方が多いから自力解決する事が多いのでは
2025/07/15(火) 23:55:01.09ID:Xa+JcFPE
煽りとかそういうのでなく、純粋に意見として
今は初心者レベルの人はAIに聞いたほうがはるかに有用な答が得られる
2025/07/16(水) 00:05:19.73ID:54zFMq80
次スレ立てるときにはcygwinは控えめで

MSYS2ルート(mingw64-gcc/clang/bash/各種ライブラリ等windowsネイティブポート)
VSCodeルート(msys2導入せずmingw64コンパイラだけ導入)
WSL2ルート
のそれぞれで誰か説明したらwindowsプログラミング初心者(VSは使いたくない人)の助けになるかも

>>975
AIでまとめて貰っても良いかも
2025/07/16(水) 03:12:54.62ID:07jtrGs0
TDM-GCC64ってなんなん
2025/07/16(水) 16:55:53.12ID:8VyoLyXs
>>976
gccの話なら開発環境は全部Linuxで済ませてWindowsはあくまでターゲットのひとつに留めといたほうが簡単で楽なんだけどね
まあこのスレはcygwin/mingwのスレだからそれはスレチか
2025/07/16(水) 18:56:50.02ID:uj9eYc0f
>>973
Visual Studioが至れり尽くせりなんだけど、それだけだとロックインするからスレタイの環境に興味がある人がいると思う
ただしこのスレではMSYS2以外で導入していろんな墓穴を掘っている傾向がある
とりあえずMSYS2導入(とその後のメンテ)をQiita/Zennで調べたら、初PCゲットしたてのスマホキッズでも躓く事は少ないのでは

マルチプラットフォームアプリ開発等の必要性が出てきたらWSLにすれば良いかと
2025/07/16(水) 19:02:18.06ID:uj9eYc0f
>>977
それは更新されてないから無視して良いかと

>>979にちょと書いたけど、初期導入以外にも本家gccへの追従更新やサードライブラリ追加導入の事も大切
そこがMSYS2が手頃なので
2025/07/16(水) 19:04:00.62ID:uj9eYc0f
もちろん「プログラミング熟達者」は好きにしたら良いと思う
2025/08/22(金) 17:08:27.47ID:3pyH/4Fj
Windows用Gitに、msys2由来のコマンド類が結構入ってるけど、
こっちはどれくらい使えるものなのだろう

コンパイラは無い、というのはいいとして、
grep、sed、awkとから辺は入っているから
とりあえずシェルスクリプトでちょっと何かをしたい、と
思った時とかは、Gitについてるコマンド類でも充分なのかな

正直、Windows用GitとCygwin+MinGWを導入していると、
gnu-utilsあたりのコマンドが両方入っているような感じで、
どっちかもう消したいんよね

gitはWindows用Gitの方が都合がよいのでこちらを残すかと
思ってるのだが、なー
2025/08/23(土) 21:23:36.16ID:ophcDa1q
>>982
Git for Winのmingw環境は、あくまでもgitのためのものだからな

bash、grepはじめ、UNIX的コマンドをより完全に使いたいのなら、
やはりCwgwin+MinGW+GCCかなと

ただ、Gitをメインに据えたいというのなら、
逆にGitのMinGWにgccとかを入れていくのがよいかなと
コマンドが足りなければその時にまた追加していく、で
それでgit環境がおかしくなったら、涙を拭いて頑張る、になるが
2025/08/24(日) 10:11:40.65ID:FHs64gUC
全部入りがいいならMSYS2でいい
2025/08/24(日) 21:06:59.10ID:JGmFRBjN
msys2で全部入り(随時追加)が良いよ
各ランタイムの開発環境(ucrt64,mingw64,clang64)の合計なんて30GBにも満たない
昨今の(mono)プロジェクト単位の依存関係インストールに比べたら軽いものでは
2025/08/27(水) 03:14:16.66ID:nJC8HQwX
windowsのパス環境変数取り合いになるからなあ
こういうの
統合してほしい
2025/08/27(水) 05:44:42.72ID:F9vl64W8
そう言う疑問はmsys2インストールして環境別のショートカットを見たら直ぐに分かる
988デフォルトの名無しさん
垢版 |
2025/10/12(日) 05:50:47.01ID:W2SaGlg4
>>985
でけーよ…
レスを投稿する

レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況