Cygwin + MinGW + GCC 相談室 Part 8

1デフォルトの名無しさん
垢版 |
2014/09/23(火) 00:20:11.40ID:G97CLCj1
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
Cygwin + MinGW + GCC 相談室 Part 7
http://peace.2ch.net/test/read.cgi/tech/1357019230/
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/

関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/

関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/
2017/08/17(木) 17:51:14.60ID:yjzCURd2
もう GTK には未練無いし
2017/08/20(日) 09:14:20.56ID:hMJ7TBf2
wxやqt も?
2017/08/20(日) 15:34:49.33ID:h1rcwd97
wxはまだ使ってる
Qtはもういいかな
2017/08/20(日) 18:56:59.11ID:hMJ7TBf2
msys2のpacmanで取得したwxWidgets試してみたがコンパイルして実行してみるとエラーが出て駄目だった

なんかMismatchがどうとか
しようがないのでソースからビルドしたら今度は実行出来た

外部のIDE使うときはwx-configの出力結果をprefix調整してコピペ
302デフォルトの名無しさん
垢版 |
2017/08/20(日) 18:59:42.64ID:SfbXlobE
おめ
2017/08/20(日) 22:13:40.22ID:hMJ7TBf2
しかしコンパイラのバージョン合ってないと起動できないとかシビアだな

毎回ライブラリをビルドし直さないとならないって事か

まあwxはcode::blocksと相性良さそうなんで使ってみます
2017/09/28(木) 19:31:39.43ID:42ffNqiR
hoge.dll から hoge.a を得るにはどうすればよいですか? hoge.def はありません
また hoge.dll 用の hoge.lib もあるので hoge.lib から hoge.a を得る方法でもいいのですが
ご存知でしたら教えてください
2017/09/28(木) 22:43:18.67ID:hnx5AJAU
Cygwin,MingW環境に限らず(まっとうなやり方では)どうやってもできません
.dllファイルは構造的には(特殊な).exeファイルと同じで
元になったオブジェクトファイルの情報は失われているので
構造的にはオブジェクトファイルの集合体(コンテナ)である
.aファイルへの変換・作成に利用することはできません
2017/09/28(木) 22:49:09.50ID:OOn3XK8S
mingw DLL リンクで検索すれば何か分かるか
307305
垢版 |
2017/09/28(木) 23:58:11.87ID:hnx5AJAU
普通にdllを使いたいって話だったのかな?
それならMingWのldは.libのインポートライブラリもサポートしてるはずなので
.libがあるならわざわざ.aファイルを用意する必要はないはずですよ

>>305はdll->スタティックライブラリに変換->完全な静的リンク(実行時にdllを必要としない)を
考えている場合のものでした
2017/09/29(金) 10:22:39.17ID:/1pN5XFr
https://stackoverflow.com/questions/8683046/compatibility-of-dll-a-lib-def-between-visualstudio-and-gcc

dlltool.exe -m i386:x86-64 -d libhoge.def -D hoge.dll -l libhoge.a
dlltool.exe -m i386 -d libhoge.def -D hoge.dll -l libhoge.a

しらんけど
2017/09/29(金) 12:02:48.90ID:qycU70XZ
インポートの定義は自分でヘッダファイルとか見て書かないといけないんだっけ?
2017/09/29(金) 16:58:18.28ID:/1pN5XFr
そこまでするなら LoadLibrary GetProcAddress とあんま変わらないんだよな
面倒だからやりたくないんだよな
311本田
垢版 |
2017/09/30(土) 02:18:18.30ID:QI/XDQNv
GNU GDB 7.2 snapshot - with rudimentary TDS (Turbo Debugger Symbol) format support (originally written by Troy Rollo) obtained from old mail list postings,
and migrated to this snapshot with some corrections and slight enhancement.

https://sourceforge.net/projects/gdbwtds/
2017/09/30(土) 20:08:15.20ID:qoa7T3WL
MinGW-w64ならgendef
2017/10/14(土) 20:06:56.97ID:1R5o/7Zt
MinGW w64入れようとしてInstalling FilesでDownloading file...となってるときに
"The file has been downloaded incorrectly!"って言われてインストール失敗してたけど
ユーザー名に2バイト文字使われてたのが原因だった
2017/10/14(土) 20:10:51.38ID:WLIJLkzn
>>313
バグレポートよろしく。
2017/10/15(日) 13:38:16.37ID:29cWpLj+
path tmp=c:\tmp とかに変わってても出るかな
2017/10/16(月) 18:49:29.16ID:wWgRxRso
w64はインストーラ使わずに7zを直接落として使ってるわ。
2017/11/07(火) 23:52:22.23ID:oq5rvc1h
XPのPCで、mingw-get-setup.exe起動してMinGW+MSYSをインストールしようと
思ってるんだけど、「cannot open URL」と出てインストールできないんだけど、
対処法ありますか?

同じNW環境のWindows 7、10ではインストールできてます
ブラウザから、prdownloads.sourceforge.netのURL(〜?downloadってついてるサーブレット?)へ
アクセスすると、インストーラが落とそうとしているパッケージはダウンロードできます
でもインストーラは、〜.xzなパッケージをダウンロードできない、ようです
2017/11/08(水) 00:55:49.63ID:gERmpbT1
>>317
ユーザー名が2バイト文字になってるとか
2017/11/08(水) 08:27:55.55ID:qBIIDql4
>>318
情報どうもです
ユーザ名ですが、1バイト文字のみです
2017/11/08(水) 09:10:26.33ID:JQY6Yohe
OSから入れなおす
2017/11/08(水) 18:39:27.64ID:sk5N5Yic
proxy環境?
2017/11/08(水) 22:37:34.17ID:qBIIDql4
317です

>>320
さすがに色々と設定されているので今からは…

>>321
いえ、Proxy環境ではありません

Avastとか切ってもやってみたのですが、相変わらずインストールが成功しません…

パッケージ類をwgetとかで手元に置いといてローカル環境からインストール、みたいなこと
できるのかな…
2017/11/08(水) 23:21:27.15ID:EhZ1dCm/
>>322
インストーラはOSの、てかIEの機能使ってパッケージをダウンロードしてる

んで、XPのIEってIE8だろ

SourceForgeとのTLS1.1とか1.2でのネゴシエートみたいなのができないからだろうな
サイトもまともに見れないのでは

32ビット環境のWindows10でインストールされたフォルダを丸ごとXPにコピーしたらどうだろう
2017/11/09(木) 05:29:26.55ID:QExmboAO
>>322
別のPCかVM環境用意してそこでクリーンなOSで試すんだ
それでうまく逝かないんなら時間の無駄
2017/11/10(金) 01:42:21.61ID:cCwVxaF2
317です

クリーンインストールしたXPで再度試してみましたが、NGでした

>>323
これが真の理由のようです
IE8ではSourceForgeのページも表示されませんでした
2017/11/10(金) 10:18:42.45ID:8v+/8plD
インストーラじゃなくminge-get単体で使えばいい
mingw-get updateしてから(mingw)\var\lib\mingw-get\dataの中を見れば必要なものは大体分かる
327perl 使えなくなった助けて
垢版 |
2017/12/19(火) 14:10:48.24ID:00NlJhNM
# # echo foo | sed -e 's/foo/bar/'
bar

✔ Success (retv = 0)


# # echo foo | perl -pe 's/foo/bar/'

✗ Failure (retv = 127)


# # which perl
/usr/bin/perl
2017/12/20(水) 01:00:25.31ID:VNCbBBsR
>>327
ファイル/usr/bin/perlが壊れてるんじゃねえのかな

perl -vってやって起動するかえ?
2017/12/20(水) 18:52:59.06ID:XmSEA4Qy
>>328
起動しませんでした

apt-cyg remove perl
apt-cyg install perl
で解決しないから困りました
2017/12/20(水) 19:01:22.45ID:WrwU9bvP
なぜエラーメッセージ貼らないの
2017/12/20(水) 19:56:04.98ID:XmSEA4Qy
失礼しました
# perl -v
✗ Failure (retv = 127)
2017/12/20(水) 21:00:47.43ID:A/ACJRIk
変なシンボリックリンクでも残ってる?
2017/12/20(水) 21:32:25.03ID:XmSEA4Qy
それはないかと
# which perl
/usr/bin/perl

✔ Success (retv = 0)


# # /usr/bin/perl -v

✗ Failure (retv = 127)
2017/12/21(木) 08:36:29.08ID:kNyfYvrn
環境がよくわからない。failureとかの文字はshellが出してる?
2017/12/21(木) 13:45:47.39ID:UXAmX4iO
多分シェルがだしてる
このcygwin は gnupack_devel-13.06-2015.11.08 のを使っています
2017/12/21(木) 14:28:52.68ID:UXAmX4iO
今気が付いたのですが gnupack のはポータブルなので
新しくダウンロードした方にhome 以下移したら
apt-cyg install xxx
などの手間はかかるけどperl 動きますね

今回はそれでOK
お騒がせしました
2018/01/17(水) 12:28:36.69ID:yPRkNg4C
手元の mingw32/g++ 6.4 で仮想デストラクタがらみがうまくいかない現象が起きています
mingw32/g++ 5.4 ベースに戻すとうまくいくようです

なにか情報ありませんか?
2018/01/17(水) 20:43:07.77ID:yPRkNg4C
>>337
モジュール名が更新されており、libstd++ ともども cygwin のモジュールを削除した上で新しく入れなおすことで解消しました
mingw64-g++6.4 で問題ありません
お騒がせいたしました
2018/02/04(日) 09:38:03.86ID:p3JJNcrx
Perlをmingw(windows7)でビルドできた人いる?
どうやったのか教えて欲しい
2018/02/16(金) 06:30:03.04ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
341デフォルトの名無しさん
垢版 |
2018/02/27(火) 20:04:40.07ID:8i84/p/L
スカトロMinGWがいち早くgcc7.3.0になったな
2018/02/27(火) 21:40:18.84ID:xfHUmh10
最近MSYSがまともに動かないリリース連発してて萎えるわ
みんなWSLに移行したのかね
2018/02/28(水) 09:58:25.81ID:f5/eDtaO
>>342
更新失敗してない?
msys-2.0.dll (msys2-runtime)
pacman.exe (pacman)
bash.exe (bash)
この辺はいつも削除失敗で手動でコピーするはめになってる
人によってはターミナル系もかな
2018/03/04(日) 12:57:37.44ID:mX/EyO7/
これまでMSYS2と仮想マシン上のLinuxを両方使っててWSLも試してみたけど
WSLだけで全部賄うのは無理だし、MSYS2の代わりになるかも微妙だと思った
2018/03/14(水) 14:55:32.55ID:rLA9sGaB
cygwinってハードの最低動作環境ってどんなもん?
セレロンG1610でも十分動く?
346デフォルトの名無しさん
垢版 |
2018/03/14(水) 15:25:24.16ID:2cAisCwC
動く
2018/03/17(土) 13:02:16.05ID:gLwvyXQa
LLVM Clangって、見つけたんですよ
gccより高速で、エラーの内容がわかりやすいんだけど
なんで、gcc使い続けてるの?
348デフォルトの名無しさん
垢版 |
2018/03/17(土) 18:31:14.60ID:YJFErllj
ゼロから作るんならClangでも良いけどgccでコンパイルできる
ソースが必ずしもClangでコンパイルできる訳ではないからでは
2018/03/21(水) 23:18:47.38ID:CIv5zGK1
visual styleのマニフェスト設定がわからん。。。教えてくれよ。
350デフォルトの名無しさん
垢版 |
2018/03/22(木) 00:14:02.04ID:FaIr56VM
ここじゃない
2018/03/22(木) 09:47:32.57ID:+op52nZS
>>349
自己解決。
352デフォルトの名無しさん
垢版 |
2018/03/23(金) 04:57:37.56ID:X5KKLTky
スクリプト走らせてるとusememが肥大化してしまうのですが
Cygwinのメモリ開放ってどうやるんでしょうか?
353デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:05:31.72ID:GtydX90K
fg
^C
kill
2018/03/23(金) 20:47:03.40ID:X5KKLTky
>>353
ありがとうございます
ただ、topなどで確認してもプロセスが占有してるというよりはよくわからないけどfreeのメモリが消費されてるといった感じなんです
あきらめて別の方法を探してみます
355デフォルトの名無しさん
垢版 |
2018/03/24(土) 23:48:25.89ID:rRlQvr0X
スカトロMinGWを消してMinGW W64 7.3.0を入れた
ようやく来たか
2018/04/12(木) 06:28:32.21ID:wYEErH2x
i686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z
MD5 d1e009df8d254a15a549c5af2e2200db
SHA-1 96e11c754b379c093e1cb3133f71db5b9f3e0532

これ、カスペが反応するんだけどみんなのところではどうよ
C:\mingw32\opt\bin\python.exe トロイの木馬
2018/04/24(火) 18:03:19.77ID:r7pQ3eFs
>>356
カスペはわりと誤検知を是とする製品だね
除外リストに入れてやるしかないと思う
2018/05/12(土) 12:16:05.84ID:l2Chn+wB
msys2 64bitとcygwin64両方ともautomakeを使おうとすると
ラッパーさんから使えるバージョンはないとか怒られて終わります
これのせいでautoconfとかも途中で終わるのでつかえません
調べまくりましたが途方にくれました何かアドバイスを

ちなみにautoconfは普通にバージョン見ると2.69で
automakeは1.10から1.9までたくさん入っています
他のlibとかも全部入れたと思います
調べたらラッパースクリプトがバージョン判断出来なくてコケるみたいなのを見たんですが
そのへんがよくわかりません
2018/05/12(土) 17:14:27.18ID:wQPN3T7y
sygwinは分からんけどmsysはpacmanで入れたモジュールなのかな
普通にpacmanで作った環境では特に問題なくautoconfできるけど
2018/05/12(土) 17:17:58.13ID:D96wT16B
cygwinな
cをsと読むとはロシア系か?
2018/05/12(土) 17:20:26.83ID:KWlgK9zD
msysとmingwは入り口ちがうから注意な
2018/05/12(土) 19:28:25.95ID:n4fPuvh4
>>359
pacmanで入れました
(どうしてもPGP鍵のエラーを解決出来なかったのでsiglevel無理やり変えたけど)
自分が信用出来ないので複数の入門用サイトのインストール手順そのままなぞっても変わらず
cygwinは普通にsetupから入れました

autotoolなど使わないで普通にコンパイルするだけなら普通に出来ます
最初はemacsとかでかいのをやろうとしたのですが、ハローワールド的なプログラムで
試しにやってみてもautoreconf等やはりautomakeのところで引っかかって終わります

msys2とcygwin両方とも同じというのが何故なのかわからないです
msys2の入口はどのみち3種類どれでやっても結果は変わらないです
am-wrapperに使えるバージョンが無いって怒られます
pacmanの入れ方が駄目だったんでしょうか
2018/05/12(土) 20:50:49.77ID:a1PUYIF4
あれ?鍵の更新も出てるメッセージの通りにやれば出来なかったっけ?
2018/05/13(日) 11:14:28.83ID:lO6n2Uvo
鍵は特に指示するようなメッセージはないです
暗号エンジンが不正とかパッケージが壊れてるとか鍵が不正とかそれだけで

とりあえず適当にautomakeを打つと
$ which automake
/usr/bin/automake
$ automake
am-wrapper: automake: error: Unable to locate any usuable version of automake.
I tried these versions:
With a base name of '/usr/bin/automake'.

msys2とcygwin64両方同じです
これは正しい反応なのでしょうか
2018/05/13(日) 12:08:20.63ID:lO6n2Uvo
今気が付いたんですが
$ automake-1.10 とか直接やると当たり前かもしれませんがconfigure指定しろと動くので
やはり選択出来てないみたいです
あと調べるとWANT_AUTOMAKEでバージョン指定出来るみたいなので
それでautomakeするとエラーは出ないです
調べてもこんなところでつまずいてる人誰もいないみたいなのに何故…
2018/05/14(月) 06:23:09.92ID:sCu2GnUG
I tried these versions:
With a base name of '/usr/bin/automake'.

おかしいね
2018/05/15(火) 13:37:48.79ID:PXOgwrWU
MSYS2 からだと /proc/registry を見ればレジストリの内容を読めるけど、
レジストリの設定はどうやればいいの?
2018/05/15(火) 15:38:03.48ID:JLuDISpE
上で長々とautomakeについて書いたものですが
最後に念のため全部管理者からにしてインストールから全て自分の知識を一切使わず
ぐぐったやり方に沿ってやりなおしたところやっぱり結果は同じでした

バージョン指定してautomakeを突破してもautom4teのエラーが出たりするので
とりあえず素直に諦めました
変なことは特にしてないと思うんですが…根本的に何かおかしいんでしょうね
一連の書き込み見て、もし何か気が付いた方いましたらよろしくお願いします
2018/05/15(火) 15:54:21.90ID:gV7swnN5
まずMSYS2とCygwinで同じ状況というので疑われるのは環境の混在
きちんと分離できていれば両方同じ結果にはならないと思う
他のアプリを含めてWindowsのグローバルな環境変数を汚さないようにするかあるいは完全に把握してればこの手の問題は起き難い
2018/05/17(木) 23:25:54.23ID:hM1fOWSN
>>369
もしかしたら何か環境被ってるか影響受けて駄目なのかもしれないですね
両方全く一緒っていうのが…
今度時間空いたらまっさらなOSにでも入れてみようと思います
2018/05/18(金) 08:58:45.15ID:dGQ/v6Kx
まずは環境変数からCygwinを除去してみるところからだろ
そもそもWindowsの環境変数に混在させるのは良くない
必要な設定はシェルを起動するbatファイルにでも書いて切り分けをはっきりさせた方がいい
2018/05/18(金) 11:16:28.24ID:XDpFHDRs
.bash_profile に書こうな。
2018/05/21(月) 22:21:15.09ID:wfqSsSFN
コンパイラ g++ が-l オプションにてライブラリをサーチしてくれません
cygwin 上でのパス:/usr/loca/lib/libcppunit.a
実パス U:\usr\system\cygwin\usr\local\lib\libcppunit.a
をコンパイルオプション -l で見つけてくれるようにすればどうすればいいでしょうか?
2018/05/21(月) 22:23:06.54ID:qdG46jsE
エルとアイ、間違ってない?
2018/05/21(月) 22:23:21.23ID:wfqSsSFN
>>373
とりあえずコンパイラの -L オプションで凌ぐことにしました
2018/05/21(月) 22:23:49.00ID:wfqSsSFN
>>374
コメントありがとうございます
それは大丈夫でした
2018/05/22(火) 16:58:07.60ID:EV0iplRL
>>375

勘違いしている気がするのは気のせいかな

「-l」はリンクするライブラリの「lib」を除いた名称を
指定するためのオプション

そのライブラリを検索する場所を指定するオプションが
「-L」じゃなかったっけ
378デフォルトの名無しさん
垢版 |
2018/05/22(火) 17:55:37.99ID:q5t1htis
コンパイルオプションとリンクオプションは区別しろよ
2018/05/22(火) 18:49:29.91ID:xeMs/wd1
>>377
はい、-L usr/local/lib -lcppunit とベタ打ちすることにしました cygwin の環境変数を触るのはあきらめました…
2018/05/22(火) 21:21:40.16ID:3tmJeyY1
>>379
LD_LIBRARY_PATH の設定で上手くいかないの?
2018/05/22(火) 21:31:43.78ID:OEO6VOy7
困ったときはマニュアル
2018/05/24(木) 10:33:38.46ID:cPlRxlDn
.
2018/05/24(木) 19:19:40.85ID:dCOL2CYR
>>380
それが手元のWindows7環境ではうまくいかないのです…
384デフォルトの名無しさん
垢版 |
2018/05/25(金) 16:18:51.34ID:bGEIPgDt
MinGW gcc 8.1.0来たな
2018/05/25(金) 16:56:39.90ID:OWfOKoxu
メジャー上がるの早ええな
386デフォルトの名無しさん
垢版 |
2018/05/25(金) 17:11:47.06ID:XO9fqtgP
Firefoxみたいになってきた
2018/05/25(金) 18:40:38.76ID:ArdFXZ/1
googleとかから資金と技術者が流れこんだかな?
2018/05/26(土) 02:03:28.06ID:7KsEnTuP
なんとしても__cplusplusを201703にするべく頑張ったんだろうなあ
2018/05/26(土) 07:58:56.19ID:WhnOnvzV
201402じゃん ・・・と思ったら
-std=c++17で201703になるのか

つーか7.3.0でもそうなるやん
2018/05/26(土) 10:52:04.44ID:syYJ3FKh
>>389
本当?知らなかった
7.3.0で-std=c++1zや-std=gnu++1zを付けてコンパイルしても__cplusplusは201402のままだったのだが俺環?
8.1.0なら-std=c++1zでちゃんと201703になる
2018/05/26(土) 18:07:23.48ID:IvOjJRME
>>390
俺環
g++ (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 7.3.0
686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z
MD5: d1e009df8d254a15a549c5af2e2200db
SHA1: 96e11c754b379c093e1cb3133f71db5b9f3e0532

OS 名: Microsoft Windows 7 Professional
OS バージョン: 6.1.7601 Service Pack 1 ビルド 7601
プロセッサ: 1 プロセッサインストール済みです。
[01]: x64 Family 6 Model 60 Stepping 3 GenuineIntel ~2601 Mhz
2018/06/12(火) 16:52:55.66ID:xnJM9nNI
なんで-std=c++2aにせんの?
393デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:46:38.56ID:gFgZc5FG
2PL
2018/07/06(金) 12:24:21.75ID:uTPDH9XV
2PL
2018/07/31(火) 03:17:47.09ID:RDQpCs3a
MinGWだけど -Wl,--stack でどうしてもスタックサイズが変わらないので悩んでいた
dumpbinとeditbinを使うと変わるし確かめられるんだけど、ようやく方法がわかった

リンカの-Xlinker optionで --stack=<バイトサイズ> と指定すれば変わった
どうも-Wlにバグがあるみたいだな
それとも-Wl,--stack=<バイトサイズ>としないといけないのだろうか
まあリンカの方をいじるのが確実だな
2018/07/31(火) 03:20:28.10ID:RDQpCs3a
今試してみた
-Wl,--stack=<バイトサイズ> でも駄目でした
結局-Xlinker --stack=<バイトサイズ>で行きます
397デフォルトの名無しさん
垢版 |
2018/07/31(火) 05:20:50.36ID:A5W680W/
OBJ吐いて結合のときと
OBJ吐かずにコンパイル即EXEのときで違うとか
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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