ホームページ  >  記事  >  バックエンド開発  >  DLL の読み込みが「インポートエラー: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません」というメッセージで失敗するのはなぜですか?

DLL の読み込みが「インポートエラー: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません」というメッセージで失敗するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 02:28:02638ブラウズ

Why is my DLL loading failing with

インポート時の DLL ロード失敗: 無効な Win32 アプリケーション

エラー「ImportError: DLL ロード失敗: %1 は有効な Win32 ではありません」が発生しましたDLL が存在するにもかかわらず、アプリケーション」を実行するとイライラすることがあります。ユーザーが特定した考えられる原因の 1 つは、ロードされた DLL のビット数とシステム環境の不一致です。

ユーザーは、64 ビット Python インタープリターを備えた 64 ビット システムに OpenCV をインストールしました。ただし、C:libopencvbuildpython2.7 にある cv2.pyd ファイルが 32 ビット バージョンであることに気付きました。この不一致により、読み込みエラーが発生する可能性があります。

この問題を解決するには、ユーザーは cv2.pyd の 64 ビット バージョンを入手する必要があります。 「Unofficial Windows Binaries for Python Extension Packages」Web サイトを参照して、適切なバイナリを見つけてダウンロードできます。

64 ビット バージョンの cv2.pyd がインストールされたら、PYTHONPATH 環境変数が次を指していることを確認します。その場所。ユーザーは、PATH 変数に C:libopencvbuildx64vc11bin などの OpenCV バイナリ フォルダーへのパスが含まれていることも確認する必要があります。

問題が解決しない場合は、次のことを試すことができます:

  • 必要なすべての DLL が指定されたフォルダーに存在し、システム アーキテクチャと互換性があることを確認します。
  • Dependency Walker などのツールを使用して、不足している DLL または無効な DLL を特定します。
  • 環境変数 DEBUGLOGGING=on により、DLL のロード中に詳細な出力が有効になり、ユーザーはロードに失敗した特定の DLL を特定できるようになります。

以上がDLL の読み込みが「インポートエラー: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。