ユーザーの1人が、職場のWindows 7 64ビットマシンで(オープンソースの)ソフトウェアを実行しようとしています。
残念ながら、GUIバージョンもコマンドラインバージョンのプログラムも彼のマシンでは実行されません。プログラムは起動しているように見えますが、何も実行せず、GUIバージョンでもウィンドウが開きません。
プロセスは実際にはそれほど進んでいないと思います。彼と私のマシン上のプロセスのスレッドのProcessExplorerビューは次のとおりです。
彼のWindows7マシンの場合:
私のWindows10マシンの場合:
私たちのソフトウェアは、64ビットモードのVisual Studio2013で構築されました。MSVCランタイムが含まれています。おそらくさまざまなマシンで何年も機能しています。
What's possibly going on?
I'm happy to add the required details.
Update 1: I have Process Monitor traces (*.pml files) for both machines, but while I know how to interpret them, I'm not sure what conclusions I can draw from them. Anyone interested in having a look? I'm a bit hesitant to post them here as I suspect they could contain sensitive information.
Update 2: The problem is reproducible on all Windows 7 machines we've got access to, but on no other Windows versions.
Update 3: The previous release of the application is reported to work fine on Windows 7, while the latest release doesn't. Nothing has changed in the way we build or package the application.
この謎の原因は、Boost C ++ライブラリのバージョン1.61の真のバグとWindows7の実装の詳細の組み合わせであることが判明しました。
https://svn.boost.org/trac/boost/ticket/12475
アプリケーションの以前のリリース(1.4.0-beta)はBoost 1.55を使用しており、バグの影響を受けません。最新のリリースでは、バグのあるBoost1.61を使用しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加