취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

실행 파일의 dll 파일 검색

해결 완료!
솔루션으로 이동

안녕하세요.

 

dll 파일을 사용하는 ODS 라이브러리를 사용하고 있습니다.

 

해당 라이브러리를 LabVIEW 의 instr.lib 폴더에 넣고 잘 사용 했습니다.

 

테스트를 위해 라이브러리 파일 채로 빌드를 했는데, LabVIEW 런타임이 dll 파일을 찾지 못합니다.

 

dll 파일이 아마 LabVIEW 관련 파일이 아니어서, 빌드 시에 다른 곳으로 이동되었다는 메세지와 함께 같이 빌드가 되지 않는 것으로 보입니다.

 

일단 수동으로 LabVIEW 폴더에 복사해 주거나, dll 파일을 지정해 실행파일이 구동 되는 것은 확인 했습니다만...

 

계속 이렇게 사용 할 수는 없을 것 같습니다.

 

dll 파일을 추가해 빌드 할 수 있는 방법이 있을까요?

0 포인트
1/8 메시지
3,080 조회수

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kKgsSAE&l=ko-KR 

해보셨을꺼 같지만 링크에서 처럼 included 에 추가해 보셨나요?

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000015AgaSAE&l=ko-KR

이건 빌드할 때 입니다.

 

그리고 ini 파일에 보시면

viSearchPath="C:\Program Files\National Instruments\LabVIEW \vi.lib;

이런 식으로 참조 경로가 있는데 원하는 경로 추가해서도 해보세요

아마 exe 파일 만들 때 넣으면 경로가 추가될꺼 같긴합니다.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000004AXDSA2&l=ko-KR 이것도 참고해보세요

4. DLL의 외부 함수를 사용하는 일부 타사 드라이버가 제대로 작동하려면 다른 종속성이 필요합니다. 지침에는 특정 폴더에 파일 복사, 환경 변수에 경로 추가 등과 같은 작업이 포함될 수 있습니다. 

0 포인트
2/8 메시지
3,054 조회수

안녕하세요. 반갑습니다. 오랜만에 뵙는군요. 잘 계시죠?

 

Included 하는 방법은 말씀 하신 대로 해 보았습니다.

 

라이브러리 자체가 dll 파일을 포함해서 lib 파일 형태로 나온거라, 프로젝트 자체에 포함시켜 보기도 하고, dll 만 포함해서 추가해 보기도 했습니다.

 

결국 둘다 안되었습니다.

 

두번째 링크 주신 빌드할 때 경로 지정하는 건 해 보질 않았군요. 시도해 보겠습니다. 🙂

 

ini 파일 말씀 하시는건 어떤걸 말씀 하시는건가요?

 

LabVIEW 런타임 설정 ini 파일을 건드려라 라고 하시는 거라면.. 가급적 피하고 싶네요;;

 

일단 LabVIEW 평가판 (기간은 이미 지났습니다.) 의 instr.lib 폴더 내에 함수 라이브러리를 복사하고 빌드해 보기도 했습니다.

 

똑같이 실행하지마자 dll 을 찾는 팝업 창을 보긴 했습니다.

 

마지막에 추가해 주신 링크에 Instr.lib 가 아닌 User.lib 로 언급되어 있군요. 그것도 확인해 보겠습니다.

 

드라이버가 아닌, OpenSource 기반 ods 확장자를 가진 문서에 접근하게 해 주는 dll 입니다.

0 포인트
3/8 메시지
3,042 조회수
솔루션
주제 작성자 여리君이(가) 승인함

안녕하세요 마이랩뷰 없어지고 답변 못 다는거 빼고는 그냥 지내고 있습니다 ㅎ

 

exe 파일 생성하면 같은 폴더 안에 .ini 확장자 파일을 말한거긴 한데 그게 런타임 설정 파일이겠죠? 

 

저도 dll 파일 사용은 해봤는데 exe 파일 만들었을 때 프로젝트에 추가도 안하고 exe설정에서도 특별히 안했어도

 

data 폴더에 추가되서 생기긴 했습니다. c코드를 dll 로 만든거긴 했었는데 lib는 잘 모르겠네요

 

못 찾을 때도 있었는데 dll 파일이 추가가 안 된거였었는데 왜 추가가 안 된건지는 확인을 안 했었습니다 

0 포인트
4/8 메시지
3,035 조회수

그러게요..;; 저도 별 생각 없이 잘 쓰고 있었는데, dll 파일을 찾기에 프로젝트에 라이브러리 추가해야 하는 줄 알았습니다..;;

 

어제 모두 시도해 보았는데, 결국에 안되는군요.

 

왜 그럴까요? ㅠㅠ

0 포인트
5/8 메시지
3,032 조회수
솔루션
주제 작성자 여리君이(가) 승인함

windows/system32 안에 있는 dll은 exe만들고 나면 라이브러리 호출노드에서 경로없이 이름만으로 찾으니 거기에 복사해놓고 써보시면 어떨지...

아니면 dll 반입마법사 쓰면 dll복사해서 vi옆에 두고 쓰거든요 요건 어떠실지....

 

lib가 이미 있으시다고 하니 뻘글 일 수도....

0 포인트
6/8 메시지
3,025 조회수

외국의 LabVIEW 유저분이 Library 파일로 만드신 건데...

 

dll 빌드 한 후, LabVIEW 로 호출하는 형식을 취한 것으로 보입니다.

 

Windows 라이브러리는 아닙니다만, System32 폴더와 SysWOW64 폴더에 복사해 넣고 테스트를 진행해 봐야 겠네요.

 

답변 감사드립니다.

0 포인트
7/8 메시지
3,022 조회수

감사합니다. 해결했습니다.

 

저도 프로젝트에 추가되면 문제 없을 줄 알았는데 그런게 아니군요.

 

Windows 의 System32 폴더와 SysWow64 폴더에 dll 복사를 한 후 실행하니 문제가 해결되었습니다.

 

다시한번 도움 주신 두분께 감사드립니다.

 

프로그램 설치시 dll 파일을 복사하도록 별도의 코드를 만들어야 겠네요.

0 포인트
8/8 메시지
3,012 조회수