1

私のQt Creatorは、Ubuntu 17.04のQt 5.14に基づいた4.11です。進行中の開発のため、Qt Creator と Ubuntu を更新して、作業セットアップを妨げないようにしています。

デバッグ ビルド モードで実行すると、正常にコンパイルされ、実行可能ファイルが実行されます。しかし、「build--*」ディレクトリを確認すると、バイナリ ファイル (つまり .exe) が消え、.cpp ファイルから作成されたすべての .o ファイルが数 MB から 18 バイトに縮小されます!!

オンラインで検索しましたが、そのような固有の問題は見つかりませんでした。現在の回避策は、毎回クリーン ビルドを行うことであり、長い待ち時間が発生します。

この問題を解決する構成を教えてください。

更新

コメント セクションの助けを借りて、別の際立った詳細が明らかになりました。build-*良いプロジェクトとこのプロジェクトのフォルダーにアクセスしfile main.oてターミナルにチェックインすると、次の出力が表示されます

良いプロジェクト: _main.o: ELF 64 ビット LSB 再配置可能、x86-64、バージョン 1 (GNU/Linux)、削除されていません

悪い (この) プロジェクト:_main.o: NTFS ファイルシステム (NT) からの gzip 圧縮データ

4

1 に答える 1

0

この問題は Qt には関係ありませんが、私たち自身のコードに関係しています。特定のディレクトリ内のすべてのファイルを再帰的に Gzip するモジュールがあります。

ただし、ディレクトリ パスが空の場合は、元のバイナリのパスが圧縮ディレクトリとして使用されます。そのため、すべてのオブジェクト ファイルが圧縮され、何らかの理由でバイナリ ファイル自体が消えていました。

必要なチェックを入れたので、これは回避されます。


コメント セクションで command を実行するように依頼してくれたユーザー@GMfile <filename>に感謝します。それから、以下の出力ではなく、次のヒントを得ました。

ELF 64 ビット LSB 再配置可能、x86-64、バージョン 1

gzip出力を提供していました:

NTFS ファイルシステム (NT) からの gzip 圧縮データ

これにより、最近追加された Gzip メカニズムには何かがあるに違いないと確信しました。

于 2021-06-05T05:32:09.093 に答える