X



Cygwin + MinGW + GCC 相談室 Part 8
0001デフォルトの名無しさん
垢版 |
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/
0490デフォルトの名無しさん
垢版 |
2019/04/17(水) 10:14:46.50ID:RU1ct6Mv
<私見>
qt charts ブチ込んでも、qt-5.12.2なら問題はリバースエンジニアリング関連にとどまる
なぜなら、qt chartsをインストール対象としてチェックしたうえでインストーラを進めても、
ライセンスとしてLGPLが選択可能で、GPLv3が要求する "displays an appropriate copyright notice" を満たさずGPLv3の適用を主張できないから
</私見>

正確なところは弁理士または弁護士に確認されたし
IPAの逐条訳が参考になるかも
0493デフォルトの名無しさん
垢版 |
2019/04/18(木) 17:45:20.57ID:T5E1BM4x
>>488
最初は意味が分からなかったんだけど、unix(っていうかLinux系かな)と同じGUIツールは
X11なしでも動くのなんでかなって話かな
これは>>488が書いているようにGUIの表示にX11を使っていなくてWindowsで表示可能な
GUIシステム(例えばmingw用のQtとか)で組まれているならば当然X11は必要ない
逆にX11ベースのxtermコマンド(あるならば)はX11サーバがないと表示できない

「mingw-w64-x86_64-」っていうのはマルチプラットフォーム/マルチアーキテクチャに
対応しているアプリケーションでプラットフォームやアーキテクチャをを表している
例えば「gcc」は「mingw」や「linux」といった複数のプラットフォームで「x86」や「arm」など
複数のアーキテクチャに対応している
なのでこの「gcc」は「64bit Windows」の「mingw」で「x86」系のCPUで動く「64bit」CPUで
動くよって意味で「mingw-w64-x86_64-」という接頭語みたいなのが付けられている

ただし接頭語が付いたままだと使うときにユーザーが一々プラットフォームとアーキ
テクチャを意識しなければならないし、configureみたいにその辺を自分で解決できる
スクリプトとかアプリケーションでないと一般的なコマンドとして使用出来ないので接頭語
なしのコマンドが用意されている

Linuxの場合には複数バイナリを用意するのは無駄なので接頭語つきのコマンドに
シンボリックリンクされた接頭語なしコマンド名が作られているけど「MSYS」みたいな
Windows上で動作する環境の場合シンボリックリンクに対応していないので同じバイナリが
2つあるような感じで実装されてたりするって感じかな
0494デフォルトの名無しさん
垢版 |
2019/04/19(金) 16:30:35.71ID:kPHA0zLK
>>493
違います
0495デフォルトの名無しさん
垢版 |
2019/04/19(金) 17:02:11.09ID:dBiDFHmq
emacsはX Window System必須ではなかったような気もするし今は違うのかも知れないし何とも
0496デフォルトの名無しさん
垢版 |
2019/04/19(金) 17:21:27.71ID:jGjLpvIL
windowsではcygwinのやつ使っとるよ。
msys2/mingwはいまいち信用できん。
なんにせよXは不要だよ
0501デフォルトの名無しさん
垢版 |
2019/05/02(木) 21:24:20.65ID:qbL1jEY8
valgrind みたいにアクセス違反検出する仕組で msys2 上で使えるものってあります?
0503デフォルトの名無しさん
垢版 |
2019/05/21(火) 22:53:35.55ID:5dr0Nkwr
>>501
ありますよ
0504デフォルトの名無しさん
垢版 |
2019/05/22(水) 01:15:47.82ID:zrih+ccQ
Windows 上で g++ & qt ってどのくらいメジャーなのかな

とりあえず「オレオレコード」書くなら C++11 とかかいな
GCの仕組みとか全く知らんけど
「適切なC++11の教科書などない!」という話もあるけど

Python 使え?
0505デフォルトの名無しさん
垢版 |
2019/05/22(水) 11:00:03.94ID:1OSMRbFi
C++11 なんてオワコンだからやめとけ
0508デフォルトの名無しさん
垢版 |
2019/06/13(木) 16:59:54.42ID:/0Hvd4dT
cygwin に apt-cyg find R したら Rがあった(長らくこれはなかった)
感動的だ

ようやくWindowsの上でもスタート地点に立った
0510デフォルトの名無しさん
垢版 |
2019/06/13(木) 22:37:36.09ID:tYlssfYj
ものすごい今さらな質問なんだが・・・
Cygwin て何て発音するんだ?サイウイン?
まわりに使ってるやつ1人もいないから実際に発音することがなくて困る
0516デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:20:34.75ID:5t0rLbyA
cygnusは英語では、「シグナス」です。

むかし、Cygnusと云う商標で、「キグナス石油」という会社が
あったので、Cygnusを英語読みで[シグナス」ということを
知らないで、、「キグナス」と読んだりするみたいです。

ちょっと、きになったら、『英和辞典」を引いてみるとよいでしょう。
0517デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:26:57.67ID:YE54Q2cv
ジョアンとフアンとジョンとジャンと…

カルロスとチャールズとシャルルと…

ジョージとホルヘとゲオルクと…
0519デフォルトの名無しさん
垢版 |
2019/06/14(金) 12:47:10.03ID:bpAwmG5b
ペーターピーターピョートル
シーメンスジーメンス
ジャーマンゲルマンドイツドイチュ
0521デフォルトの名無しさん
垢版 |
2019/06/14(金) 23:28:44.92ID:5t0rLbyA
フランス語は
cygne
で、cygnusとは違います。
ラテン語は、英語と同じ
cygnus
です。
0523デフォルトの名無しさん
垢版 |
2019/06/15(土) 11:12:22.87ID:Z5/LYv7k
Cognac
Tough
Lamborghini
を思い出す
0525デフォルトの名無しさん
垢版 |
2019/06/22(土) 19:12:03.45ID:UYyu+IU/
>>523
ぶぁーか
0526デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:49:44.99ID:g5igmDJr
MinGW更新が滞っています
0527デフォルトの名無しさん
垢版 |
2019/06/24(月) 05:27:39.62ID:bdPLxrDs
>>526
MinGW-W64 project のやつは滞ってるけど、
MSYS2 project のやつ(pacmanで入れるやつ)は滞ってないよ(9.1.0)。
0530デフォルトの名無しさん
垢版 |
2019/06/25(火) 20:17:15.80ID:Cgc4J/db
>>529
一言余計なんだよカス
0537デフォルトの名無しさん
垢版 |
2019/08/14(水) 15:59:31.43ID:cSlSK8mm
> warning: hoge.hpp.gch/fuga.gch: had text segment at different address
9.2でこんなエラーが出るようになってPCHが効かない。ビルド時間が3倍に。
> cc1plus.exe: warning: '-Werror=' argument '-Werror=hoge-fuga' is not valid for C++
あとこんな警告が大量に出るようになって邪魔。
0538デフォルトの名無しさん
垢版 |
2019/08/20(火) 15:18:40.97ID:4DZMx7ke
MinGWで作ったバイナリ、コマンドプロンプトで実行するとすごい遅い
一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い
ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする

Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう
ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった

問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ
WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
0539デフォルトの名無しさん
垢版 |
2019/08/20(火) 15:20:15.93ID:zlJnj2O9
cmd からじゃなくて mintty から実行しても遅いか?
0542デフォルトの名無しさん
垢版 |
2019/08/20(火) 17:27:25.95ID:4DZMx7ke
>>539
mintty, MSYSでは動作が速かったです
cmd特有の「初回起動だけ遅い」というのはありませんでした
powershellでも試してみます

>>541
cmdでも実行は出来てるんですが、なんか初回実行だけ遅いんです
初回以降は速くて、しばらく放置してまた実行すると遅くなってます
0543デフォルトの名無しさん
垢版 |
2019/08/20(火) 17:37:17.04ID:zlJnj2O9
キャッシュしてるとしたら socks の dll かな
0545デフォルトの名無しさん
垢版 |
2019/08/21(水) 17:19:04.83ID:iGK2Kp/R
雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが
読み込まれるのでコマンド起動遅くならないのでは
0546デフォルトの名無しさん
垢版 |
2019/08/21(水) 17:33:03.25ID:ur92HW83
それならそれで解決とするか
0547デフォルトの名無しさん
垢版 |
2019/08/21(水) 23:34:12.77ID:L4bPYRCx
dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
0548デフォルトの名無しさん
垢版 |
2019/08/22(木) 04:38:34.97ID:Rc8J28Ob
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
0550デフォルトの名無しさん
垢版 |
2019/08/22(木) 06:10:29.02ID:dqAPG5D5
>>548
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど
0551デフォルトの名無しさん
垢版 |
2019/08/22(木) 10:15:45.06ID:xQsiKIbM
そんな用途には tdmgcc64 おすすめ
0556デフォルトの名無しさん
垢版 |
2019/08/24(土) 06:55:34.51ID:Glqz8i+r
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>551
>>553
もう少し様子見るけど、まじでありがとう

>>555
これはMinGWとは違うの?
0557デフォルトの名無しさん
垢版 |
2019/08/24(土) 09:36:31.35ID:u2q8uNB0
staticになってるだけというオチだったらわろす
0559デフォルトの名無しさん
垢版 |
2019/08/24(土) 17:29:38.98ID:Glqz8i+r
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった

>>558
--mtune=skylakeってなんですか?
0560デフォルトの名無しさん
垢版 |
2019/08/24(土) 17:48:35.57ID:u2q8uNB0
DLLよりstaticが速いとか都市伝説
0561デフォルトの名無しさん
垢版 |
2019/08/25(日) 16:54:37.16ID:z6AAmiat
>>559
-O3はコードの最適化を3レベル(あるいはタイプ3)で行う
実際に何を行っているかはコンパイランの説明を読まないと分からない
-mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする
どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、
非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に
指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない)

>>560
都市伝説ってこともない

関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで
関数BとDだけを使っていると、ダイナミックリンクの場合自分のプログラムの実行
コードに加えてすべての関数が含まれるlibhoge.dll全体を読み込む必要がある
スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
早くなる可能性は高くなる

ただし、実際問題としてはdllを一回読み込めばキャッシュからなくならない限り読み込む
必要がない+Windowsのプログラミングで使用するライブラリで基本的なものは通常
システムを起動した時点でキャッシュされていることに加えて、Windowsでプログラムを
動かすために必要な関数郡はかなりの量になる事が多いのでスタティックにリンクすると
すでにキャッシュされている関数郡を使わずに、必要な関数郡を含んだ大きなコードを
読み込む必要があるのでスタティックリンクの方が起動が遅くなるって本末転倒な事態が
発生することもある

MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の
起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと
0563デフォルトの名無しさん
垢版 |
2019/08/25(日) 23:51:01.48ID:V1f8d4H1
>>561
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m
0564デフォルトの名無しさん
垢版 |
2019/08/26(月) 01:28:47.93ID:K2zp8I6+
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
0565デフォルトの名無しさん
垢版 |
2019/08/26(月) 14:11:24.03ID:T0vtMl8v
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
0566デフォルトの名無しさん
垢版 |
2019/08/26(月) 14:11:24.09ID:T0vtMl8v
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが

これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
0567デフォルトの名無しさん
垢版 |
2019/08/26(月) 17:43:39.53ID:eYWa871J
dll読み込みってそんなに重いかな?
なんか別のところで時間がかかっていそうな感じ。
0568デフォルトの名無しさん
垢版 |
2019/08/26(月) 21:44:29.54ID:CEMf0Y7L
>>565-566
MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。
LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。
0569デフォルトの名無しさん
垢版 |
2019/08/27(火) 05:30:30.81ID:FSIINwco
>>563
でビルドしてみました
様子見します
-O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね
-O0にすると正常に動作したんですけど
0570デフォルトの名無しさん
垢版 |
2019/08/27(火) 09:41:49.02ID:NZJyfwBK
-O3に完璧を求める方が可笑しい
0572デフォルトの名無しさん
垢版 |
2019/08/27(火) 12:32:02.21ID:j4wzaSFP
-O3と-O0で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ

まれにコンパイラのバグということもあるが大抵てめーが悪い
0573デフォルトの名無しさん
垢版 |
2019/08/28(水) 17:10:08.53ID:w9RtsrXP
VCで造られたdllをmingwのgccで使いたいです
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません
0575デフォルトの名無しさん
垢版 |
2019/08/28(水) 17:45:16.06ID:4qorfKL6
実際parallelstlをコンパイルするのはVCの方が楽だしな
これを.aに変換したいと思っていたのでありがたいです
0580デフォルトの名無しさん
垢版 |
2019/09/13(金) 15:13:51.93ID:ud7Tmahn
cygwin の fork = native じゃなくて emu
mingw の fork = あるんか?
0581デフォルトの名無しさん
垢版 |
2019/09/13(金) 16:40:00.05ID:08rV0d8/
MinGW+MSYS2がCygwinより速い理由は
Cygwinはたとえ遅くなろうとも完璧なエミュレートを目指してるのに対して
MinGW+MSYS2は目指してないから
0582デフォルトの名無しさん
垢版 |
2019/09/13(金) 18:56:41.57ID:2jKM3FP9
MSYS2は、Windowsネイティブアプリを作るための環境です。
Windowsネイティブアプリを作りましょう。
0588デフォルトの名無しさん
垢版 |
2019/10/02(水) 07:41:31.63ID:WxowMW3Q
GMPって真面目にソースtarからビルドするしかないの? ビルド済みのバイナリですぐ使えるのがあれば欲しいんだけどcygwinのインストーラでチェック入れてもダメで、なんじゃこりゃってなってるんだけど。
レスを投稿する


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