« Android版 Ver.2.0.0 の作業 その4 | トップページ | Ver.2.0.8 リリース »

2017年11月25日 (土)

Qt 5.9.3 がリリースされました

Qt 5.9.3 が11/22にリリースされました。


-------------------------------------------------------------------------------------

以下の件後日再発しました。Windows Subsystem for Linuxが原因ではなかったようです、すみません。発生したり、しなかったりで謎です。

(追記:2017.11.27)

調べ直しました。

MinGW版でリンクされるDLLはこんな感じです。

$ objdump -p release/QtBrynhildr.exe |grep 'DLL Name:'
DLL Name: Qt5Core.dll
DLL Name: Qt5Gui.dll
DLL Name: Qt5Multimedia.dll
DLL Name: Qt5Network.dll
DLL Name: Qt5Widgets.dll
DLL Name: libgcc_s_dw2-1.dll
DLL Name: IMM32.DLL
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: libwinpthread-1.dll
DLL Name: SHELL32.dll
DLL Name: WINMM.DLL
DLL Name: WS2_32.dll
DLL Name: WSOCK32.DLL


main()に辿り着く前にコケるので、MinGWのランタイムが競合している可能性が高いですね。

Makefile.Releaseをエディタで開いて LFLAGS に"-static-libgcc -static-libstdc++"を追加して保存します。

release/QtBrynhildr.exeを削除して再度"make"を実行しリンクし直します。

で、実行すると普通にウィンドウが立ち上がりました。やはりどうやら別の場所にあるランタイムと競合しているようです(;ω;)

次に"-static-libgcc"と"-static-libstdc++"を別々に指定して試すとどうやら"-static-libstdc++"がないとダメみたいです。 ということは実行時にビルド時とは違うlibstdc++のDLLを参照してるんでしょうね…


-------------------------------------------------------------------------------------


試してみようと思いましたが、事前確認のため5.9.2でMinGW版の起動を確認したら起動せず、いきなり落ちました。

"make debug"でデバッグ版を作ってgdbで確認しました。

Program received signal SIGSEGV, Segmentation fault.
0x0048bdde in _pei386_runtime_relocator ()

main()に届く前のランタイムで落ってるぽいです。他のアプリケーションに同梱されているMinGWランタイムが悪さをしているような感じなのですがこれまで発生したことがないので妙です。

最近インストールしたアプリケーションをアンインストールして確認したのですが、一旦起動できてもPCを再起動したら再発したりして原因が掴めません。

半日ほど無駄にしたあと、最近なにかインストールしたかな…と考えていたら1つ思い出しました。

2日前に「Bash on Ubuntu on Windows」を試そうと思い"Windows Subsystem for Linux"を有効にしてそのまま放置していたのです。

とりあえず"Power Shell"を管理者権限で起動して以下を実行して再起動しました。


Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux


ようやく落ちなくなりましたが「Bash on Ubuntu on Windows」を試すことが出来ないのでスッキリしませんね…(ま、なくても不自由しないからいいか)


(参考)
https://msdn.microsoft.com/ja-jp/commandline/wsl/install-win10


(追記)

GitHubで公開しているWindows版パッケージはMSVC版ですので影響はありません。


(追記:2017.11.27)
後日再発しました。以下の件Windows Subsystem for Linuxが原因ではなかったようです、すみません。

« Android版 Ver.2.0.0 の作業 その4 | トップページ | Ver.2.0.8 リリース »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Qt 5.9.3 がリリースされました:

« Android版 Ver.2.0.0 の作業 その4 | トップページ | Ver.2.0.8 リリース »