공유 라이브러리 반입 마법사의 문제 해결하기
- 업데이트 날짜:2025-08-27
- 2분 (읽기 시간)
다음은 공유 라이브러리 반입 마법사를 사용과 관련된 일반적인 문제입니다. 제안된 방법으로도 해결되지 않으면, 공유 라이브러리를 디버그하십시오.
마법사가 함수를 찾을 수 없습니다.
공유 라이브러리 반입 마법사의 변환할 함수 선택 페이지에서 함수 리스트는 지정한 공유 라이브러리 파일의 모든 함수를 나열합니다. 마법사가 헤더 파일을 분석한 후 어떤 함수도 나타나지 않으면, 공유 라이브러리 파일에 대한 경로가 정확한지 라이브러리에 함수가 있는지 확인하십시오.
마법사가 반입할 수 없는 함수를 찾았습니다
공유 라이브러리 반입 마법사는 지정한 공유 라이브러리 파일의 모든 함수를 나열하지만, 마법사가 헤더 파일에서 정확하게 분석할 수 있는 함수만을 반입할 수 있습니다. 변환할 함수 선택 페이지의 함수 리스트에서 함수를 선택할 때 나타나는 경고로 가능한 문제를 미리 확인할 수 있습니다. 헤더 파일이 모든 필요한 함수 선언을 포함하는지 확인합니다. 각 함수 선언은 호출 형식, 반환값의 데이터 타입, 정의된 파라미터를 포함해야 합니다. 헤더 파일을 수정하기 위해, 파일을 직접 편집하거나, 마법사의 포함 경로와 선행 처리기 정의 설정 페이지를 사용하여 기호 정의를 추가할 수 있습니다.
헤더 파일로부터의 다음 예제 코드는 사용자가 WIN32를 정의하는 경우 오직 functionA만을 컴파일합니다.
#ifdef WIN32 int functionA(int para); #endif
LabVIEW가 functionA를 반입하려 하는데 헤더 파일이 WIN32을 정의하지 않은 경우, 직접 헤더 파일을 편집하여 WIN32정의하거나, 공유 라이브러리 반입 마법사에서 WIN32을 정의할 수 있습니다. 마법사에서 WIN32를 정의하려면, 포함 경로와 선행 처리기 정의 설정 페이지의 선행 처리기 정의 텍스트 박스에 WIN32를 입력합니다.
다음 예제 코드는 헤더 파일의 다른 함수를 보여줍니다. 이 상황에서, 사용자가 NIAPI를 정의하지 않았으므로 LabVIEW는 기호를 인식하지 않습니다:
NIAPI int functionA(intpara);
LabVIEW가 이 함수를 반입하기를 원한다면, 선행 처리기 정의 텍스트 박스에 NIAPI=_stdcall를 추가하여 NIAPI를 정의합니다.
마법사가 선언된 함수를 찾을 수 없습니다.
함수 리스트는 공유 라이브러리 파일에서 나타나는 함수를 보여줍니다. 헤더 파일이 공유 라이브러리 파일에 없는 함수에 대한 선언을 포함하는 경우, 마법사는 이 같은 함수를 나열하지 않습니다. 공유 라이브러리 파일에 존재하는지 여부에 관계없이 헤더 파일에서 선언된 파일 모두를 보려면, 마법사의 공유 라이브러리와 헤더 파일 선택 페이지에서 공유 라이브러리 파일이 로컬 컴퓨터에 없음의 확인란에 확인 표시를 합니다. 그러면 변환할 함수 선택 페이지로 돌아올 때 마법사가 헤더 파일에서 선언된 모든 함수를 나열합니다. 래퍼 VI를 생성하지 전 반드시 이 확인란에서 확인 표시를 제거하십시오.
마법사가 하위 헤더 파일을 찾을 수 없습니다
지정한 헤더 파일이 하위 헤더 파일을 포함하는 경우, 마법사의 포함 경로와 선행 처리기 정의 설정 페이지의 포함 경로 텍스트 박스에서 반드시 하위 파일에 대한 경로를 제공해야 합니다. 하위 헤더 파일에 대한 포함 경로를 지정하지 않으면, 마법사가 헤더 파일을 정확하게 분석할 수 없습니다.