Cygwin + MinGW + GCC 相談室 Part 8
>>271
cygwinのXserver使ってます。 >>271
まずは
/var/log/xwin/XWin.0.log
かな? 実行時に標準エラーに
libGL error: required WGL extension WGL_ARB_multisample is missing
libGL error: required WGL extension WGL_ARB_multisample is missing
が出る,このWGL がよくわからない.
ログは次のとおり
http://codepad.org/hu8zMgSM テストプログラムは
http://codepad.org/iE1MX9wa
コンパイルは
$ gcc glut03.c -lglut -lGLU -lGL
で通る.
なにか経験談のようなものでもいいので,情報がほしい
よろしくお願いいたします. 拡張機能が使えない?
有効になってないか、そもそも対応してないとか
根拠は無い DLLのリンクは通ってるの?
わからなかったら
objdump -p glut03.exe | grep DLL
してみたら? 実行時のログが貼ってあるのにリンクがどうのとか言い出すレベル 一番良い方法はLinuxをやめてWindowsにする事だよ cygwinインストール時に/etc/postinstall/0p_000_autorebase.dashで止まって進みません
set-up再起動したり本体再起動してもダメでした そこはrebaseに時間かかる場合は止まっているように見える
ディスクアクセスが続いている状態なら辛抱強く待つべし MinGW + freeglut か
Visual studio C/C++ + freeglutの方がいいと思うけど…… 回答ありがとうございました
cygwinはインストールに時間がかかってしょうがなかったのでMinGWとテキストエディタにTerapadを使うことにしました http://www.msys2.org/
msys2-x86_64-20161025.exe
SHA256: 2c198787ea1c4be39ff80466c4d831f8c7f06bd56d6d190bf63ede35292e344c
$ sha256sum.exe msys2-x86_64-20161025.exe
2330957bc431fffb5fd359e40c20b2464be34ebbd1bfb531a7b09fba0c2808f7 *msys2-x86_64-20161025.exe プリプロセッサのcppのソースはどこにあるのか!? MSYS2のwindresとcppをコピーして、自分のプログラムで使いたいんだけど、
windres.exeとcpp.exeを正しく実行するにはどうすればいいでしょうか?
最小構成にしたいと考えています。 include
lib
とexe
で試す
足りないものは追加 >>292
ありがとー、コンパイルできるようになった。 msys2で取得したgtk(gtkmm)をcmakeでmakeファイル作ったり
code::blocksでmsys環境外で利用したりがやっとわかってきた
具体的にはpacmanで取得するmakeやpkg-configはmsysではなく
mingwで統一しないとダメらしい しっかし何でGTKはバイナリのダウンロード止めちまったんだろうねえ?
いやまあ確かに更新はmsys2のpacmanでやった方が楽だろうけどさ
code::blocksのプロジェクトテンプレートが使えないとか
IDE使った導入に問題がある msys2のpacmanで取得したwxWidgets試してみたがコンパイルして実行してみるとエラーが出て駄目だった
なんかMismatchがどうとか
しようがないのでソースからビルドしたら今度は実行出来た
外部のIDE使うときはwx-configの出力結果をprefix調整してコピペ しかしコンパイラのバージョン合ってないと起動できないとかシビアだな
毎回ライブラリをビルドし直さないとならないって事か
まあwxはcode::blocksと相性良さそうなんで使ってみます hoge.dll から hoge.a を得るにはどうすればよいですか? hoge.def はありません
また hoge.dll 用の hoge.lib もあるので hoge.lib から hoge.a を得る方法でもいいのですが
ご存知でしたら教えてください Cygwin,MingW環境に限らず(まっとうなやり方では)どうやってもできません
.dllファイルは構造的には(特殊な).exeファイルと同じで
元になったオブジェクトファイルの情報は失われているので
構造的にはオブジェクトファイルの集合体(コンテナ)である
.aファイルへの変換・作成に利用することはできません mingw DLL リンクで検索すれば何か分かるか 普通にdllを使いたいって話だったのかな?
それならMingWのldは.libのインポートライブラリもサポートしてるはずなので
.libがあるならわざわざ.aファイルを用意する必要はないはずですよ
>>305はdll->スタティックライブラリに変換->完全な静的リンク(実行時にdllを必要としない)を
考えている場合のものでした 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
しらんけど インポートの定義は自分でヘッダファイルとか見て書かないといけないんだっけ? そこまでするなら LoadLibrary GetProcAddress とあんま変わらないんだよな
面倒だからやりたくないんだよな 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/ MinGW w64入れようとしてInstalling FilesでDownloading file...となってるときに
"The file has been downloaded incorrectly!"って言われてインストール失敗してたけど
ユーザー名に2バイト文字使われてたのが原因だった path tmp=c:\tmp とかに変わってても出るかな w64はインストーラ使わずに7zを直接落として使ってるわ。 XPのPCで、mingw-get-setup.exe起動してMinGW+MSYSをインストールしようと
思ってるんだけど、「cannot open URL」と出てインストールできないんだけど、
対処法ありますか?
同じNW環境のWindows 7、10ではインストールできてます
ブラウザから、prdownloads.sourceforge.netのURL(〜?downloadってついてるサーブレット?)へ
アクセスすると、インストーラが落とそうとしているパッケージはダウンロードできます
でもインストーラは、〜.xzなパッケージをダウンロードできない、ようです >>317
ユーザー名が2バイト文字になってるとか >>318
情報どうもです
ユーザ名ですが、1バイト文字のみです 317です
>>320
さすがに色々と設定されているので今からは…
>>321
いえ、Proxy環境ではありません
Avastとか切ってもやってみたのですが、相変わらずインストールが成功しません…
パッケージ類をwgetとかで手元に置いといてローカル環境からインストール、みたいなこと
できるのかな… >>322
インストーラはOSの、てかIEの機能使ってパッケージをダウンロードしてる
んで、XPのIEってIE8だろ
SourceForgeとのTLS1.1とか1.2でのネゴシエートみたいなのができないからだろうな
サイトもまともに見れないのでは
32ビット環境のWindows10でインストールされたフォルダを丸ごとXPにコピーしたらどうだろう >>322
別のPCかVM環境用意してそこでクリーンなOSで試すんだ
それでうまく逝かないんなら時間の無駄 317です
クリーンインストールしたXPで再度試してみましたが、NGでした
>>323
これが真の理由のようです
IE8ではSourceForgeのページも表示されませんでした インストーラじゃなくminge-get単体で使えばいい
mingw-get updateしてから(mingw)\var\lib\mingw-get\dataの中を見れば必要なものは大体分かる # # 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 >>327
ファイル/usr/bin/perlが壊れてるんじゃねえのかな
perl -vってやって起動するかえ? >>328
起動しませんでした
apt-cyg remove perl
apt-cyg install perl
で解決しないから困りました 失礼しました
# perl -v
✗ Failure (retv = 127) それはないかと
# which perl
/usr/bin/perl
✔ Success (retv = 0)
# # /usr/bin/perl -v
✗ Failure (retv = 127) 環境がよくわからない。failureとかの文字はshellが出してる? 多分シェルがだしてる
このcygwin は gnupack_devel-13.06-2015.11.08 のを使っています 今気が付いたのですが gnupack のはポータブルなので
新しくダウンロードした方にhome 以下移したら
apt-cyg install xxx
などの手間はかかるけどperl 動きますね
今回はそれでOK
お騒がせしました 手元の mingw32/g++ 6.4 で仮想デストラクタがらみがうまくいかない現象が起きています
mingw32/g++ 5.4 ベースに戻すとうまくいくようです
なにか情報ありませんか? >>337
モジュール名が更新されており、libstd++ ともども cygwin のモジュールを削除した上で新しく入れなおすことで解消しました
mingw64-g++6.4 で問題ありません
お騒がせいたしました Perlをmingw(windows7)でビルドできた人いる?
どうやったのか教えて欲しい ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ スカトロMinGWがいち早くgcc7.3.0になったな 最近MSYSがまともに動かないリリース連発してて萎えるわ
みんなWSLに移行したのかね >>342
更新失敗してない?
msys-2.0.dll (msys2-runtime)
pacman.exe (pacman)
bash.exe (bash)
この辺はいつも削除失敗で手動でコピーするはめになってる
人によってはターミナル系もかな これまでMSYS2と仮想マシン上のLinuxを両方使っててWSLも試してみたけど
WSLだけで全部賄うのは無理だし、MSYS2の代わりになるかも微妙だと思った cygwinってハードの最低動作環境ってどんなもん?
セレロンG1610でも十分動く? LLVM Clangって、見つけたんですよ
gccより高速で、エラーの内容がわかりやすいんだけど
なんで、gcc使い続けてるの? ゼロから作るんならClangでも良いけどgccでコンパイルできる
ソースが必ずしもClangでコンパイルできる訳ではないからでは visual styleのマニフェスト設定がわからん。。。教えてくれよ。 スクリプト走らせてるとusememが肥大化してしまうのですが
Cygwinのメモリ開放ってどうやるんでしょうか? >>353
ありがとうございます
ただ、topなどで確認してもプロセスが占有してるというよりはよくわからないけどfreeのメモリが消費されてるといった感じなんです
あきらめて別の方法を探してみます スカトロMinGWを消してMinGW W64 7.3.0を入れた
ようやく来たか i686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z
MD5 d1e009df8d254a15a549c5af2e2200db
SHA-1 96e11c754b379c093e1cb3133f71db5b9f3e0532
↑
これ、カスペが反応するんだけどみんなのところではどうよ
C:\mingw32\opt\bin\python.exe トロイの木馬 >>356
カスペはわりと誤検知を是とする製品だね
除外リストに入れてやるしかないと思う msys2 64bitとcygwin64両方ともautomakeを使おうとすると
ラッパーさんから使えるバージョンはないとか怒られて終わります
これのせいでautoconfとかも途中で終わるのでつかえません
調べまくりましたが途方にくれました何かアドバイスを
ちなみにautoconfは普通にバージョン見ると2.69で
automakeは1.10から1.9までたくさん入っています
他のlibとかも全部入れたと思います
調べたらラッパースクリプトがバージョン判断出来なくてコケるみたいなのを見たんですが
そのへんがよくわかりません sygwinは分からんけどmsysはpacmanで入れたモジュールなのかな
普通にpacmanで作った環境では特に問題なくautoconfできるけど >>359
pacmanで入れました
(どうしてもPGP鍵のエラーを解決出来なかったのでsiglevel無理やり変えたけど)
自分が信用出来ないので複数の入門用サイトのインストール手順そのままなぞっても変わらず
cygwinは普通にsetupから入れました
autotoolなど使わないで普通にコンパイルするだけなら普通に出来ます
最初はemacsとかでかいのをやろうとしたのですが、ハローワールド的なプログラムで
試しにやってみてもautoreconf等やはりautomakeのところで引っかかって終わります
msys2とcygwin両方とも同じというのが何故なのかわからないです
msys2の入口はどのみち3種類どれでやっても結果は変わらないです
am-wrapperに使えるバージョンが無いって怒られます
pacmanの入れ方が駄目だったんでしょうか あれ?鍵の更新も出てるメッセージの通りにやれば出来なかったっけ? 鍵は特に指示するようなメッセージはないです
暗号エンジンが不正とかパッケージが壊れてるとか鍵が不正とかそれだけで
とりあえず適当に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両方同じです
これは正しい反応なのでしょうか 今気が付いたんですが
$ automake-1.10 とか直接やると当たり前かもしれませんがconfigure指定しろと動くので
やはり選択出来てないみたいです
あと調べるとWANT_AUTOMAKEでバージョン指定出来るみたいなので
それでautomakeするとエラーは出ないです
調べてもこんなところでつまずいてる人誰もいないみたいなのに何故… I tried these versions:
With a base name of '/usr/bin/automake'.
おかしいね MSYS2 からだと /proc/registry を見ればレジストリの内容を読めるけど、
レジストリの設定はどうやればいいの? 上で長々とautomakeについて書いたものですが
最後に念のため全部管理者からにしてインストールから全て自分の知識を一切使わず
ぐぐったやり方に沿ってやりなおしたところやっぱり結果は同じでした
バージョン指定してautomakeを突破してもautom4teのエラーが出たりするので
とりあえず素直に諦めました
変なことは特にしてないと思うんですが…根本的に何かおかしいんでしょうね
一連の書き込み見て、もし何か気が付いた方いましたらよろしくお願いします まずMSYS2とCygwinで同じ状況というので疑われるのは環境の混在
きちんと分離できていれば両方同じ結果にはならないと思う
他のアプリを含めてWindowsのグローバルな環境変数を汚さないようにするかあるいは完全に把握してればこの手の問題は起き難い >>369
もしかしたら何か環境被ってるか影響受けて駄目なのかもしれないですね
両方全く一緒っていうのが…
今度時間空いたらまっさらなOSにでも入れてみようと思います まずは環境変数からCygwinを除去してみるところからだろ
そもそもWindowsの環境変数に混在させるのは良くない
必要な設定はシェルを起動するbatファイルにでも書いて切り分けをはっきりさせた方がいい