Cygwin + MinGW + GCC 相談室 Part 8

レス数が950を超えています。1000を超えると書き込みができなくなります。
2022/09/04(日) 17:00:20.38ID:A8KVTWK8
>>900
このスレ以外のxxスレでも同じ質問しています
と全部のスレに描いて置くだけでもはるかにマシだと思うが
2022/09/04(日) 23:01:47.10ID:QxOeTDrF
>>902
ソースはどうやって取った?
2022/09/05(月) 05:46:53.76ID:YC0Agv6v
>>903
どこのスレで聞く予定か決まってないとできないことだね
どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
そこでもう諦めろという資格はあんたにはない

せっかく回答しても一言多い人はイヤミなやつと思われる
fjにもいたよ、やなやつ系の人
2022/09/05(月) 12:18:16.08ID:CjnDxYFq
>>905 他のスレで質問するときに先に質問してたスレを挙げるのはできるだろ。
2022/09/05(月) 14:52:44.22ID:YC0Agv6v
>>906
その時点でもうクロスじゃねえだろ
しつけえな
2022/09/05(月) 18:36:40.42ID:CjnDxYFq
> どこのスレで聞く予定か決まってないとできないことだね
> どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
ここの「できない」「無理」を否定しているだけで、クロスじゃねえかどうかは関係ないよ。
2022/09/06(火) 06:32:16.53ID:8iFyZ+3k
自分が個人的に気に入らないってだけで
他人にああしろこうしろ言う図々しいやつ
910デフォルトの名無しさん
垢版 |
2022/09/06(火) 09:15:35.13ID:9WMtC8UL
>>905
>どこのスレで聞く予定か決まってないとできないこと

ちなみにクロスもどこのスレで聞く予定か決まってないとできないことだぞ
2022/09/06(火) 10:05:14.92ID:8iFyZ+3k
マルチすんなというバグった骨董品に5chにクロスの機能がないのに無茶ぬかすなと指摘したんだよ
それへの返事()が>>903のような頓珍漢な内容だったんで
端っから破綻している話をおちょくっただけだが文句あんのか?
マニュアルトークばっかりで中身のないハリボテ野郎がw
2022/09/06(火) 12:50:52.33ID:QxRWO4Sk
>>902
./configure に、そんなオプションが存在しないのでは?

>No rule to make target 'config.mak'
「ffmpeg config.mak」などで検索すれば?
913デフォルトの名無しさん
垢版 |
2022/09/06(火) 13:39:00.56ID:4u8//Iu5
opensslをビルドしたけど、これって成功してる?失敗してる?

make depend && make _build_sw
make[1]: Entering directory '/home/XXX/openssl'
make[1]: Leaving directory '/home/XXX/openssl'
make[1]: Entering directory '/home/XXX/openssl'
x86_64-w64-mingw32gcc -I. -Iinclude -Iapps/include -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib64/engines-3\"" -DMODULESDIR="\"/usr/local/lib64/ossl-modules\"" -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o apps/lib/libapps-lib-app_libctx.obj apps/lib/app_libctx.c
/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
make[1]: *** [Makefile:2624: apps/lib/libapps-lib-app_libctx.obj] Error 127
make[1]: Leaving directory '/home/XXX/openssl'
make: *** [Makefile:1554: build_sw] Error 2
2022/09/06(火) 14:04:07.58ID:M4FVZY7o
失敗している

直前に実行したコマンドが成功したかどうかは
$ echo $?
で確認する
0 が表示されれば成功
それ以外は失敗
2022/09/06(火) 14:06:57.11ID:M4FVZY7o
>>913
ちなみに原因は x86_64-w64-mingw32gcc を起動したこと
正しくは x86_64-w64-mingw32-gcc
prefixに指定すべきは
x86_64-w64-mingw32 ではなく
x86_64-w64-mingw32- ということだと推測される
2022/09/06(火) 16:17:14.54ID:QxRWO4Sk
>/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
そういうコマンドが存在しないのじゃ?

コマンドが存在すれば、
which python3
/usr/bin/python3

which x86_64-w64-mingw32gcc
と入力してみれば?
917デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:32:07.23ID:Ov6T9Uu9
opensslをビルドしようとすると
cc1.exe: fatal error: md2test.c: No such file or directory
compilation terminated.
make[1]: *** [<builtin>: md2test.o] Error 1
make[1]: Leaving directory '/home/hoge/openssl/test'
make: *** [Makefile:296: build_tests] Error 1
と出る・・・
918デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:33:01.61ID:Ov6T9Uu9
コマンドは以下の通り
cd /root/openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
2022/10/06(木) 16:27:26.92ID:cWE4RcCn
>>917
>cc1.exe: fatal error: md2test.c: No such file or directory
test/md2test.c があるかをまずは確認
920919
垢版 |
2022/10/06(木) 16:33:48.59ID:cWE4RcCn
ちなみにLinux上のクロス環境だけど普通にビルドできたよ
$ wget https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_0_2-stable.zip
$ unzip OpenSSL_1_0_2-stable.zip
$ cd openssl-OpenSSL_1_0_2-stable/
$ ./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
$ make
$ echo $?
0
2022/10/07(金) 12:22:36.36ID:d4ub3t4L
どうせ ./configure で間違えたか失敗したんだろうな
922デフォルトの名無しさん
垢版 |
2022/10/07(金) 15:18:33.31ID:2fSodFyt
どうもcheckout時にtest/md2test.cがなくなったっぽい
923デフォルトの名無しさん
垢版 |
2022/10/08(土) 19:39:30.38ID:qxTVurIe
>>920
ほぼ同じことをやったけど、やっぱ>>917と同じ事が起きた
OpenSSL_1_0_2sでもtest/md2test.cがないとコケる
2022/10/08(土) 21:46:27.37ID:xDu3MKAN
If you want to just get on with it, do:

$ ./config
$ make
$ make test
$ make install

とINSTALLにあるけど
925デフォルトの名無しさん
垢版 |
2022/10/09(日) 12:19:38.59ID:Tz+TsrJC
実はこれをビルドしてるんです
https://github.com/zhlynn/zsign/issues/158

>>924を参考に
cd openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
make
make test
とやったんだけど、やはりmd2test.c絡みエラーが出た
2022/10/09(日) 12:43:19.28ID:+ozsmf3D
https://github.com/zhlynn/zsign/search?q=md2test
これで何も出ないからなぁ
2022/10/09(日) 18:48:11.24ID:Pj/q53xX
INSTALL.W64

You will need Perl.
You will need Microsoft Platform SDK


To build for Win64/x64:

> perl Configure VC-WIN64A --prefix=c:\some\openssl\dir
> ms\do_win64a
> nmake -f ms\ntdll.mak
> cd out32dll
> ..\ms\test

とあるね
2022/10/09(日) 18:56:50.21ID:Pj/q53xX
あとConfigureとconfigがあってconfigを使えってことじゃないの
2022/10/10(月) 17:42:08.13ID:uEke22m0
linuxでビルドしてみたけどopenssl-OpenSSL_1_0_2-stableだとlibssl.soができないから失敗してるぽい
openssl-OpenSSL_1_1_1の方はmake testまで通った

$ @bash ~/build/openssl-OpenSSL_1_0_2-stable
$ find "." -type f | perl -ne '/libssl/ and print'
./libssl.pc
./libssl.a


$ @bash ~/build/openssl-OpenSSL_1_1_1q
$ find "." -type f | perl -ne '/libssl/ and print'
./util/libssl.num
./linux/libssl.map
./linux/libssl.pc
./linux/libssl.a
./linux/libssl.so.1.1
2022/10/20(木) 23:31:35.93ID:+6WDZGK8
msys2と違ってtdm-gccはgccのバージョンが選べる代わりに
更新がむちゃ遅いやんけ〜
多分、人手が足りないんやなぁ
2022/10/24(月) 16:47:31.17ID:VKX4Fsrh
gcc 自体にはバージョンを混在させる仕組みはある。
クロスコンパイル用の環境を構築したいとかよくあることだし。
MSYS2 でもできなくはないけど、
今だと Docker を使うとかしたほうが簡単なのかなぁ……。
2023/03/14(火) 10:13:05.30ID:nRxoL4vn
MSYS2 MinGW64 の環境でSDL2を使ってゲームを作っています。
作ったゲームは将来的には配布する予定です。
それでDLLを動的リンクにするためにパッケージに含めたいと思っています。

今のところ起動に必要なDLLが
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll
他、SDL2のdll
です。

C++とpthreadのdllは何となくわかるのですがlibgcc_s_seh-1というのは何でしょうか?
MinGW固有のgccのdllですか?
2023/03/14(火) 14:53:19.91ID:E+DEqG9x
structured error hunt
2023/03/16(木) 00:09:23.83ID:srO8KDRm
>>932
$ pexports libgcc_s_seh-1.dll
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ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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