LabVIEW 실행 파일이 DLL을 찾을 수 없음

업데이트 됨 May 18, 2021

해당 제품

소프트웨어

  • LabVIEW Application Builder Module

문의사항

  • 개발 컴퓨터에서 잘 작동하는 LabVIEW 실행 파일을 생성했지만 배포 컴퓨터에서 DLL을 찾을 수 없다는 에러가 발생합니다. 이 라이브러리를 실행 파일에 어떻게 추가합니까?
  • 빌드에 DLL을 종속성으로 포함했지만 배포된 실행 파일이 여전히 DLL을 찾을 수 없습니다. DLL이 배포 컴퓨터에 설치되고 있지만 제대로 로드되지 않는 것을 알 수 있습니다.
  • 배포 컴퓨터에서 LabVIEW 어플리케이션을 실행하고 있는데 "Missing external function dll ..."오류가 발생합니다.

해결책

  1. DLL이 실행 파일의 빌드에 포함되어 있는지 확인하십시오. 코드에서 DLL을 동적으로 호출하는 경우 DLL을 프로젝트에 수동으로 추가하여 프로젝트의 종속성을 관리해야합니다.
  2. 상대 경로를 사용하여 DLL을 호출하십시오. 배포된 실행 파일의 디렉터리와 같이 알려진 위치를 기준으로 주소를 지정할 수 있는 위치에 DLL을 포함합니다. 그런 다음 LabVIEW에서 상대 경로를 빌드 할 수 있으며 이 경로는 DLL이 동일한 상대 위치에 설치되는 한 배포된 장비에서 유효합니다.
  3. DLL이 user.lib 라이브러리에 포함되어 있지 않은 지 확인하십시오. user.lib 라이브러리가 항상 검색 경로 내에 있는 것은 아닙니다. DLL을 다른 폴더에 넣으면 찾을 수 있습니다.
  4. DLL이 타사 드라이버의 일부인 경우 지침에 따라 배포 컴퓨터에 설치해야 합니다. DLL의 외부 함수를 사용하는 일부 타사 드라이버가 제대로 작동하려면 다른 종속성이 필요합니다. 지침에는 특정 폴더에 파일 복사, 환경 변수에 경로 추가 등과 같은 작업이 포함될 수 있습니다. LabVIEW 설치 프로그램에 타사 설치 프로그램 및 드라이버를 포함하여 이러한 작업을 자동화 할 수 있습니다.

추가 정보

  • 프로젝트 빌드에 DLL 연결은 디버그하기 어려울 수 있습니다. 이 기사에서는 LabVIEW 코드에서 DLL을 잘못 소싱하여 발생하는 문제를 다룹니다. 그러나 다른 많은 DLL 관련 문제가 있습니다. 여기에 있는 단계를 시도했지만 DLL 관련 오류가 계속 발생하는 경우이 문서의 관련 링크 섹션을 참조하십시오.
  • 동적으로 호출되는 DLL은 동적 호출을 포함하는 프로젝트의 빌드 사양에 종속성으로 즉시 추가되지 않습니다. 수동으로 추가해야 합니다.
  • 절대 경로는 종종 개발 장비에 한정되기 때문에 머신간에 코드를 이동할 때 문제가 됩니다. 절대 경로가 효과적으로 작동하려면 파일 경로가 두 시스템에서 동일해야 합니다. 대부분의 응용 프로그램에서는 거의 불가능하므로 상대 경로를 사용하는 것이 좋습니다.