<p>忍者:エラー:remove(someDirectory)アクセスが拒否されました。 ウィンドウズ</p>

作成日 2014年10月09日  ·  6コメント  ·  ソース: ninja-build/ninja

「ninja-tclean」を実行した後、フォルダの削除中に「アクセスが拒否されました」というメッセージが表示されました。

MSDNでは、stdio.h remove()を(ディレクトリではなく)ファイルを削除するための関数として説明していますが、Linuxのマニュアルページでは、ファイルやフォルダを削除するための関数として説明しています。 プラットフォーム固有の問題である可能性があります。

_rmdir()(http://msdn.microsoft.com/en-us/library/wt8es881.aspx)を呼び出すとうまくいきます。

bug windows

最も参考になるコメント

CMakeLists.txt
この問題は、WindowsおよびLinuxの1.7.2でも引き続き発生します。

忍者クリーンでこのエラーをスローするCMakeプロジェクトを追加しました(忍者ファイルをコーディングできません)。
注:MakeまたはVSジェネレーターで動作します。

全てのコメント6件

+1

Linuxでは、ディレクトリは空の場合にのみ削除されます。 動作を再帰的削除に変更できますか? または、-t cleanがディレクトリをremove()しようとする前に、buildscriptにクリーンアップを実行する機会を与えますか?

ここで同じ問題。
ディレクトリは、CMake add_custom_command()から作成されたルールによって生成されました

忍者クリーン
[1/1]ビルドされたすべてのファイルをクリーンアップしています...
失敗:/ usr / bin / ninja -t clean
忍者:エラー:remove(mydirectory):ディレクトリが空ではありません

CMakeLists.txt
この問題は、WindowsおよびLinuxの1.7.2でも引き続き発生します。

忍者クリーンでこのエラーをスローするCMakeプロジェクトを追加しました(忍者ファイルをコーディングできません)。
注:MakeまたはVSジェネレーターで動作します。

Linuxでは、ディレクトリは空の場合にのみ削除されます。 動作を再帰的削除に変更できますか?

かなり大きな変更になり、人々はファイルを失う可能性があります。 #1334ところで参照してください。

ただし、Windowsのみの「アクセスが拒否されました」エラーについてはこの問題を保持しましょう。

removeに関するMicrosoftのドキュメントには、「パスが読み取り専用ファイルを指定するか、removeを呼び出すことはできません。

このページは役に立ちましたか?
0 / 5 - 0 評価