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/
2015/08/22(土) 21:06:11.03ID:9QtU9G7d
>>106
エスパー気味だけど
msys2のアップデート時にエラーが出るのは仕様
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/#iii-updating-packages
2015/08/24(月) 00:59:12.08ID:NIWW6j5A
msys2で作ったプログラムはmsys2でしか動かないのでしょうか?
clang++でコンパイルしてみたらmsys2でしか動きませんでした
2015/08/24(月) 08:03:31.32ID:NIWW6j5A
G++でも同じ症状です
アプリケーションを正しく起動できませんでした(0x000007b)。とでます。
文字コードもutf8じゃなくなります
標準入力を、リダイレクトでファイルから入力しても
引数の数が1つのままで2になりません
2015/08/24(月) 08:55:58.76ID:NIWW6j5A
なぜかmsys64/binにあるclang++でwindowsのコマンドプロンプトで
コンパイルしたら実行できました
なぜmsys2でコンパイルすると実行できないんですか?
2015/08/24(月) 09:53:05.15ID:t7k5wrbh
おま環
2015/08/24(月) 11:04:10.96ID:NIWW6j5A
msys2でもmingw64/binに移動して./g++でmsys2上でコパイルしても
コマンドプロンプトで動きます
2015/08/24(月) 11:13:15.03ID:NIWW6j5A
/mingw64/bin/g++ a.cpp
と絶対パスを指定してもコマンドプロンプトで動きません
しかし/mingw64/binに移動してg++を実行すると動きます
2015/08/24(月) 11:15:06.58ID:NIWW6j5A
出来たexeファイルをmingw64/binに移動したら動きました
このフォルダに実行するのに必要なファイルがあるのかもしれません
2015/08/24(月) 11:20:33.95ID:NIWW6j5A
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll
を入れたら動きました
これなしで動くようには出来ないのでしょうか?
2015/08/24(月) 11:21:39.71ID:NIWW6j5A
検索したら解決しそうなのでもういいです
ありがとうございました
2015/08/24(月) 11:45:05.18ID:dM1qp5bJ
8レス消費しておま環が裏付けられただけだったと
2015/08/24(月) 12:10:31.78ID:NIWW6j5A
まだ3つのうち2つの問題が解決してないですよ
リダイレクトの問題とutf8の問題です
2015/08/24(月) 12:16:23.41ID:NIWW6j5A
リダイレクトの問題はやり方自体間違っていました
それでもutf8がmainの引数から読み取れない問題が残っていますね
これは難しそうなので諦めます
2015/08/24(月) 12:21:44.19ID:NIWW6j5A
これを含めた11個の書き込みは
このスレッドに存在しないとみなしてください
そうしてこのスレッドへの書き込みの締めくくりとさせていただきました
2015/08/24(月) 12:43:00.44ID:NIWW6j5A
utf-8の問題はmsys2_shell.batで起動して
gccをインストールしたらutf8で読み込みました
2015/08/24(月) 12:46:23.13ID:NIWW6j5A
msys2_shell.batではclangが使えないのが問題ですね
どうやら解決策は無いみたいですね
2015/08/24(月) 12:57:34.53ID:yOuQoTEr
clangってマイナーなのでmsys2までサポートしてると考えにくい
msys2開発してる人数少ないはず
125デフォルトの名無しさん
垢版 |
2015/08/24(月) 13:12:23.21ID:9y6z57S7
MinGWは関係ありませんが質問よろしいでしょうか?

Cygwin32bit+gccの環境で、Cでhello worldを打って、
gccでコンパイルすると以下のようなエラーがでてコンパイルできません。clangやg++でやっても一緒でした。
だれか何か解決策を思い浮かびませんでしょうか?
お願いします。

/usr/lib/gcc/i686-pc-cygwin/4.9.3/../../../../i686-pc-cygwin/bin/ld: unrecognized option '-plugin'
/usr/lib/gcc/i686-pc-cygwin/4.9.3/../../../../i686-pc-cygwin/bin/ld: use the --help option for usage information
collect2: エラー: ld はステータス 1 で終了しました
2015/08/24(月) 13:58:20.12ID:BYoao/vR
>>123-124
そもそもライセンス的に相性が悪い
他人はあてにできん
127デフォルトの名無しさん
垢版 |
2015/08/24(月) 17:13:27.02ID:9y6z57S7
125です。自決しました。
Cygwin Setupを眺めているとDevelのbinutilというのSizeが?になってたので、アンインストールしたら治りました。
「GNU assember, linker」と書いていたのできっと二重インストールにでもなってたのかもしれません。
よかったです。
2015/08/24(月) 23:27:16.02ID:i1hcxa32
自決て
129sage
垢版 |
2015/08/26(水) 01:01:05.68ID:rhY54iQu
MinGW x64 のGCC5.2のビルド済みどこにある?
俺が使っているここいまだにアップされていない。ビルドがうまく行かないのかな
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.2.0/threads-posix/
2015/08/26(水) 12:27:56.12ID:3oLEcwIy
>>129
x64は移植が難しいらしい
特にsjijからsehが出るまで時間が掛かったろ
64bitWindows固有の問題っぽい
焦らず待て
フォルダが出来てるって事は遠からず出るはず
2015/08/26(水) 19:19:09.80ID:Q4UGak0G
SSOってほんとにCOWより速いんか?
信じられん。
2015/08/26(水) 20:28:04.64ID:rhY54iQu
>>130
俺もそう思ってWKTKしてたんだが、20日以上経つからな
2015/08/26(水) 20:44:04.40ID:yHgKqfXq
>>132
5.2.0RCはもう出来ていてValidation Testを行っている最中に重大なバグが発見されて
直してる最中じゃね?
じゃないとこれみよがしにフォルダ作ったりしないだろ
2015/08/26(水) 20:47:39.28ID:yHgKqfXq
DistroもTDMもまだ5.2.0が出てないから多分ここのソースを参考にしてるんだろうなあ
ただこいつらOpenMPに対応してないしなあ
135デフォルトの名無しさん
垢版 |
2015/09/11(金) 11:38:46.64ID:tK1rbhT5
x64版の5.2.0 sjlj(setjmp-jongjmp)出たね
この分だとすぐにsehも出て来そう

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.2.0/threads-posix/sjlj/
2015/09/11(金) 11:44:55.85ID:tK1rbhT5
あ、駄目だこりゃ
書庫が壊れてる
上げミスか
2015/09/11(金) 20:23:54.72ID:RrP1wOhb
今度こそ大丈夫でした
リンクは>>135と同じ
sjljなのでsehに比べると例外発生時ややスタックの巻き戻しが遅いけどとにかく5.2.0をMinGWで
動かしてみたい人はどうぞ
2015/09/11(金) 20:49:56.90ID:RrP1wOhb
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.2.0/threads-posix/seh/x86_64-5.2.0-release-posix-seh-rt_v4-rev0.7z/download

sehも同時に上げられたようです
こっちに差し替えだな
2015/09/11(金) 22:35:07.70ID:KQ28X0uf
jongjmp
2015/09/16(水) 09:48:40.75ID:knfsespo
sjjj
2015/09/16(水) 14:51:52.66ID:DyJf0v++
スカトロMinGW
2015/09/20(日) 13:22:21.78ID:jpZCV0tC
pacmanがforkに失敗して自分自身を消しちゃって
pacman command not found
になってるんだが。。。
2015/09/20(日) 17:52:40.46ID:RPkqI88v
sprintf_sバグあり
2015/09/20(日) 17:55:29.13ID:JQmB5l/g
>>142
ふつーの fork() だったら返り値が-1でerrnoを参照することができると思うが‥なにが起こったの?
2015/09/20(日) 18:01:24.92ID:RPkqI88v
>>144
分からないからファイルを全部消して再インスコした
2015/09/20(日) 18:09:55.16ID:tHziPwGz
>>145
>>106
2015/09/20(日) 23:00:44.57ID:DWK3Vubo
パックマンてパクリンピックで話題の人?
2015/09/21(月) 07:41:32.47ID:3iy+9eBG
>>147
昔々、パックマンというゲームとゲームのキャラクターがあった。
黄色い丸に大きな口がパカパカ開いて動くようなキャラだった。
スーパーマリオブラザーズが出てくると、それを真似て、手と足がついて横スクロールゲームになった。
「ゲーム パックマン」でググれ。
2015/09/21(月) 07:51:27.31ID:8N0qbHVY
最近だと映画にもなったよな
2015/09/21(月) 19:13:17.36ID:7N2xzjh+
>>148
あれはマリオがパックランドをパクったんや
2015/09/21(月) 21:28:51.09ID:K/qYM/td
ボケにマジレスされた
2015/09/22(火) 11:49:49.26ID:cVHX+xrK
そこらへんにころがっているpexports.exeには、
ウイルスがしこまれてるかもしれないから、気をつけて。
2015/09/22(火) 13:27:50.91ID:5FlaqyRN
MSYS2でパッケージを更新するときは、update-coreコマンドを実行後、bashを再起動してから
pacman -Suするのが正しいやり方。
2015/11/21(土) 18:33:31.33ID:Nmv78LUX
Cygwin g++ですが、5.2.0 だと string が使えないです。コンパイルはできるのに、文字が表示されません。
4.9.3だと正常に表示されます。なぜでしょう・・
155デフォルトの名無しさん
垢版 |
2015/11/22(日) 16:57:54.02ID:rXOpUu6m
wstringは?
156デフォルトの名無しさん
垢版 |
2015/11/22(日) 18:27:27.63ID:WFE6EpHf
1つのcygwinを2つのOSからアクセスするとエラーでる。
rebaseとかやれば直るけどまた他方でエラーになる
2015/11/22(日) 20:33:59.93ID:45eIMwb2
wstringだとコアダンプしました・・・なんかstringの使い方がわかってないみたいです。出直します。。
2015/11/22(日) 23:58:00.80ID:DDbKY7qA
1つのcygwinを2つのOSからアクセス?
意味がわからんが、どうでもいいやw
2015/11/23(月) 00:05:14.75ID:XwHfNrgC
どうでもいいと言う人は実はどうでも良くない
本当にどうでもいい人はレスしない
2015/11/23(月) 00:29:49.46ID:6Un+D/dH
哲学的なこと言ってるようなそうでないような
2015/11/23(月) 00:31:45.66ID:z4xIsFy0
>>159
その理屈だと「どうでもいい」という言葉を言えなくなるなw
2015/11/23(月) 00:37:11.90ID:XwHfNrgC
訊ねられてもいないのに自分からどうでもいいという場合はまぁあれだな
2015/11/23(月) 00:48:59.59ID:6Un+D/dH
>>158
「ちょっと心に引っかかったが、まあ解明をそんなに強くは望んでないよ
だからこの件に関して別に返事しなくていいからね」

って意思の表明だろうからここから発展する物は何も無い
164デフォルトの名無しさん
垢版 |
2015/11/23(月) 17:58:15.90ID:p9GsM2T8
cygwinでバージョンを指定してpackageをインストールしたい場合は
どうしたらよいでしょうか。
たとえばpython3.1など
2015/11/23(月) 18:59:17.84ID:DbST3XTI
?setup.exeでpython3を選べば?
166デフォルトの名無しさん
垢版 |
2015/11/23(月) 21:20:51.92ID:p9GsM2T8
setup.exeでは3.2と3.4があることを確認できましたが、3.1はありませんでした。
cygwin package searchにも3.3は出てこなかったのですが、これはcygwin用のパッケージが
無いと言うことでしょうか。
2015/11/23(月) 21:41:21.70ID:DbST3XTI
たとえばと言いながら、なぜ3.1に拘るのか
2015/11/23(月) 22:27:15.60ID:1s9o8d7/
3.1なんて2.7より遺物、考えなくていい
使いたいならパッチを当ててビルドするしかない
https://github.com/cygwinports/python3
2015/11/24(火) 00:44:36.10ID:s947wE2H
>>166
以前あったけど今見つからない、という趣旨だとすると
その通り、選択したミラーサーバに残ってないという理解でいいと思う
2015/12/04(金) 18:45:08.58ID:2NM+/RK+
MSYS2 で Windows API 関連のヘッダファイルは /mingw32/i686-w64-mingw32/include やその下のディレクトリにありますが、
デフォルトではここはサーチパスに入ってないですよね。
使いたければ -I オプションで陽に指定するのが妥当なんでしょうか?
なんか不格好な気がするんですが。
2015/12/04(金) 21:59:40.76ID:5HmdZ7r7
ん?MinGW-w64 Win32 Shellから起動すれば入ってるんじゃ?
2015/12/05(土) 09:58:44.72ID:eaCpnSbD
シェル(bashやらzshやら)から起動しないと/から始まるパスが読めない
2015/12/05(土) 12:36:23.72ID:pK0sc289
mintty良すぎる
2015/12/05(土) 17:58:26.80ID:qSOJwWoH
minttyはputtyをベースにしてるからな。
良いのは当然。
175デフォルトの名無しさん
垢版 |
2015/12/06(日) 22:13:43.00ID:oTJYqvln
cygwinをダウングレードもしくは古いバージョンを再インストールするにはどうしたらよいですか?
2015/12/15(火) 11:20:48.51ID:peGiFO4i
msys2のmakeでこの行が通らない
@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all quiet-test)
なぜだー
177片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2016/01/11(月) 14:08:02.88ID:fjueNtj5
C++11を古いウィンドウズ(Windows98)で動かしたいんだが、叶姉妹だろうか?
2016/01/11(月) 17:09:16.64ID:I0GTrlSH
QEMUなら動くかなー
2016/01/11(月) 17:10:25.95ID:HoJC5dfe
叶姉妹ってなに?
2016/01/11(月) 17:59:42.03ID:KkwWauMD
分けて考える。

口十女市女未

つまり↓
2016/01/11(月) 18:26:15.51ID:I0GTrlSH
You should go to another thread, fuck.
2016/01/11(月) 21:56:57.31ID:919qVmAw
口が十もある女は市にでてもその女は未だうれていない。 くらいのところかな。
2016/01/19(火) 13:39:43.57ID:uAThxx94
鹿牛舞
2016/02/13(土) 21:19:04.62ID:zGV86DMO
make
でビルドするの時に、VSにあるような、MT MD に類するの設定はないのでしょうか?
2016/02/14(日) 04:02:25.37ID:CCqxK/O4
>>184
LDFLAGS='-static' makeとか?
186片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2016/02/20(土) 14:23:13.83ID:NVcrO5UT
<iostream>使うと、EXEがメガバイト級にバカでかくなる。
-Os -sとstrip --strip-allを使ってもあまり小さくならない。
2016/03/07(月) 21:07:46.55ID:U5qsqYf5
windows.h+crt+STLのウィンドウアプリで
MinGW-w64のMingw-buildsでg++4.8.5/4.9.3/5.3.0試してみたんだけど
エラーと警告の行番号が+1行ずれて表示される。ヒント行内容表示も同様
列はなぜかあってるので、エラー状態を次の行に持ち越したからじゃないと思う
ソースコードはShift_JISコメントありでCRLFもちろん-finput-charset=cp932付き
検索しても知恵袋が1個見つかる程度だった。英語情報はうまく検索ワード絞り込めない
2016/03/12(土) 16:01:42.39ID:PAxzfn3Q
<iostream>を使うとsegmentation faultになるバグがあるようだ。
2016/03/12(土) 22:38:56.72ID:PAxzfn3Q
見てみて、バグレポート書いてみたよ。
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70207
2016/03/12(土) 23:45:47.57ID:PAxzfn3Q
バグ追跡にイタズラをしてMinGWの開発を妨害している輩が居るようだ。
2016/03/13(日) 00:09:53.08ID:gmCRKlep
MSYS2使ってるのに配布元飛び越えていきなり本家に迷惑かけるな
しかもどうせおま環
2016/03/13(日) 01:47:33.45ID:7z8cA2Fu
mingw-w64-crtに ca451a7 の変更が取り込まれたバージョン(v5.0-rc1等)を使ってるなら原因はこれ。
https://github.com/Alexpux/MINGW-packages/issues/1104

mingw-w64のmasterブランチは 5981c02 でRevert済み。
[r4619-ca451a7]
https://sourceforge.net/p/mingw-w64/mingw-w64/ci/ca451a7a45d4876065edc6755f8aab8095914b04/
[r4626-5981c02]
https://sourceforge.net/p/mingw-w64/mingw-w64/ci/5981c0281b1f65b8f9b38b13f504f8af3f6ff209/

MSYS2-Packagesのmingw-w64-crtは該当バージョンのままなので、要更新な状態。(もしくは古い物を使う)
> msys mingw-w64-cross-crt-git 5.0.0.4624.4c13e3f-1

上記内容に該当してるのであれば、GCCへのバグレポートは取り下げて、
Alexpux氏にMSYS2-Packagesのcrtも更新する様伝える事。
2016/03/14(月) 15:51:31.59ID:+duuA6fB
$ pacman -Sy
$ pacman -Syu
したら直ったよ。最新版じゃなかったみたい。
194192
垢版 |
2016/03/14(月) 18:11:01.93ID:XW6+o1xp
MSYS-Packages内のPKGBUILDの内容を見るの忘れてた。。
crtは最新verではないけどPKGBUILDのパッチ処理でRevert済みだったわ。
>>193
githubでコメントしたみたいだけど、手間かけさせてスマン。
2016/03/14(月) 20:07:45.05ID:eOytiVwS
>>193
update-core ないん?
2016/03/31(木) 01:00:44.96ID:KxZ8EWW3
今の最新のmsys2にアップデートするとbinフォルダのupdate-core.exeが消えてしまうな
バックアップしといてアップデートが済んだら書き戻しといた方がいいようだ
2016/03/31(木) 13:14:47.43ID:fZ+0u+pZ
Cygwin終了のおしらせ
ttp://japan.zdnet.com/article/35080338/
2016/03/31(木) 13:23:20.47ID:M7ZeuKsk
>>197
Visual Studioが既にGitに依存してるからな
2016/03/31(木) 23:33:18.94ID:ogQmUG8v
>>195.196
pacman -Syuするとなんか二段階になっているけど前からだっけ?
update-coreいらなくなるなら進歩だね

:: Starting core system upgrade...
何も行うことがありません
:: システム全体の更新を開始...
2016/04/05(火) 05:35:28.58ID:87TrUxeI
msys2をConEmuで使っているんですが
midnight commanderを使うと表示が崩れてしまいます
試しにmitterでやるとうまくできました
ConEmuでも正常に表示させる方法はあるでしょうか
よろしくお願いします
2016/04/05(火) 08:39:43.35ID:87TrUxeI
200です
mitter・・・x
mintty・・・o
いつも使っていなかったので間違えました
すいません
202デフォルトの名無しさん
垢版 |
2016/07/02(土) 17:08:25.09ID:QBTa/uvw
過疎っているけど・・・質問させてください
Windows10Pro 64bit上にMSYS2をインストールしてMINGW64を主にシェルとして使っているのだけど
Linux上では正常に動いてMINGW64上ではSegmentation Faultになるプログラムが有るのです
どうもグローバル変数の宣言がうまく処理できていないようなんだけどコンパイルオプションとかで対処できないでしょうか?

ソースをコピペします
main.cpp-------------------------------------------
#include "class2.h"

int main( int argc, char *argv[] ) {
//Class2 object2;
return 0;
}
class1.h --------------------------------------------
#include <string>
#include <map>
class Class1 {
std::string type;
static std::map<std::string, Class1 *> map;
public:
Class1(std::string s);
~Class1();
};
class1.cpp -------------------------------------------
#include <iostream>
#include "class1.h"
Class1::Class1(std::string s) : type(s) {
std::cout << "Class1::Class1 type=" << type << std::endl;
map[type] = this;
}
std::map<std::string, Class1 *> Class1::map;
Class1::~Class1() {}
203202
垢版 |
2016/07/02(土) 17:11:44.83ID:QBTa/uvw
続き・・・
class2.h ------------------------------------------
class Class2 {
public:
Class2();
};

class2.cpp ---------------------------------------
#include <iostream>
#include "class2.h"

//std::map<std::string, Class1 *> Class1::map;
#include "class1.h"
Class1 object1("XXX");

Class2::Class2() {
std::cout << "Class2::Class2 " << std::endl;
}

以上です
2016/07/02(土) 21:01:29.54ID:no/g4eo0
class1.cpp
Class1::~Class1() {}

よく知らないけど、仮想デストラクタなんて、直接呼ぶもの?
こういうのは、実装・処理系が呼ぶんじゃないの?

君は、C++をかなり知っているの?
2016/07/02(土) 21:18:12.40ID:k5Obze0x
>>202
規格では異なる翻訳単位(class1.cpp, class2.cpp)で定義されてる 
静的記憶期間を持つオブジェクト(Class1::map, object1)の初期化順序は未定

コンパイルオプションでどうにかなるものじゃないので設計を見直す・ソースを修正する
2016/07/02(土) 21:18:27.94ID:sjX/SteP
それデストラクタの実装書いてるだけじゃないの?
そもそも仮想ですらないだろ
2016/07/02(土) 21:50:46.34ID:RKIHWAuM
>>204
きみは知らなすぎでは…
208202
垢版 |
2016/07/02(土) 22:05:41.61ID:Pv/FT/v3
>>204-207
レス有難う御座います。
人がいないと思ったら居るんですね。ありがたや

>>205
そうですか、あるアプリケーションをコンパイルしたら上記のソースのような箇所が有りまして・・・
姑息ですがグローバル変数の定義を直前に書いて凌ごうと思います。
よく分からないのがstd::mapではエラーになるけどstd::stringだと動いたりするんですよね
実際のソースではQMapの箇所で引っかかったりしています
レスを投稿する