LabVIEW実行可能ファイルがDLLを見つけられない

更新しました Jun 13, 2025

使用製品

ソフトウェア

  • LabVIEW Application Builder Module

問題

  • LabVIEW実行可能ファイルを作成しましたが、開発用コンピュータでは正常に動作しますが、デプロイ先コンピュータではDLLが見つからないためエラーが発生します。このライブラリを実行可能ファイルに追加するにはどうすればよいですか?
  • ビルドに依存項目として DLL を含めましたが、デプロイされた実行可能ファイルでまだ DLL が見つかりません。 DLL がデプロイ先のマシンにインストールされていることはわかりますが、正しくロードされていません。
  • デプロイ先コンピュータ上で LabVIEW アプリケーションを実行していると、「外部関数 DLL が見つかりません...」というエラーが表示されます。

解決策

  1. DLL が実行可能ファイルのビルドに含まれていることを確認してください。コードが DLL を動的に呼び出す場合は、DLL をプロジェクトに手動で追加して、 プロジェクトの依存項目を管理する必要があります。
  2. DLL を呼び出すために相対パスを使用します。デプロイされた実行可能ファイルのディレクトリなど、既知の場所から相対的にアドレス指定できる場所に DLL を含めます。その後、LabVIEW で相対パスを構築すると、DLL が同じ相対パスの場所にインストールされている限り、このパスはデプロイ先のコンピュータ上で有効になります。
  3. DLL が user.lib ライブラリに含まれていないことを確認してください。 user.lib ライブラリは常に検索パス内にあるとは限りません。 DLL を別のフォルダーに置くと、DLL が見つかるようになります。
  4. DLL がサードパーティ製ドライバーの一部である場合は、必ず指示に従ってデプロイ先コンピュータに DLL をインストールしてください。 DLL の外部関数を使用する一部のサードパーティ ドライバーは、正しく動作するために他の依存項目を必要とします。手順には、特定のフォルダへのファイルのコピー、環境変数へのパスの追加などのアクションが含まれる場合があります。LabVIEW インストーラにサードパーティのインストーラとドライバを含めることで、これらのアクションを自動化できます。
    1. DLL が正しく動作するために必要な他の依存関係が不明な場合は、 Dependenciesと呼ばれるサードパーティ アプリケーションを使用して分析できます。このプログラムを使用すると、DLL を調べて、インストールする必要があるファイルを確認できます。
  5. DLL パス名が開発環境とターゲット環境の間で変更されていないことを確認してください。
    1. その場合は、開発コンピュータで、ビルド仕様>>その他の除外項目に移動します。
    2. 依存共有ライブラリの除外 を無効にします。
    3. これで常に含むフォルダー内の DLL が含まれます。

追加情報

  • プロジェクト ビルドにリンクしている DLL はデバッグが難しい場合があります。この記事では、LabVIEW コード内の DLL の間違ったソースに起因する問題について説明しています。ただし、DLL 関連の問題が他にも多く発生する可能性があります。ここの手順を試しても DLL 関連のエラーが発生する場合は、この記事の関連リンクセクションを参照してください。
  • 動的に呼び出される DLL は、動的呼び出しを含むプロジェクトのビルド仕様に依存関係としてすぐには追加されません。これらは手動で追加する必要があります。
  • 絶対パスは開発コンピュータに固有であることが多いため、コンピュータ間でコードを移動するときに問題になります。絶対パスが効果的に機能するには、ファイルへのパスが両方のコンピュータで同じである必要があります。ほとんどのアプリケーションではこれはほぼ不可能であるため、相対パスを使用することをお勧めします。
  • もしDLLがNI製である場合、デプロイ先コンピュータにランタイムエンジンが含まれているもしくはインストールされていることを確認してください。