|
우선 답변 감사합니다.
그런데 제가 이해력이 딸려서 그러는데 path를 빌더에서 설정 한다는 건가요?
다시말해서 a.dll, b.dll 이라는 파일이 vc(이게 vs가 맞나요? vc가 맞는 건가요?) runtime library라면 이 파일들의 패스를 잡아주어야 한다는 것인지? 잡아준다면 프로젝트 옵션에서 링커를 잡는건가요?
만약 위의 해석이 맞다면 혹시 vc 버전에 따른 배포 런타임 라이브러리 이름을 참고할 만한 싸이트 알려 주실수 있나요?(이건 너무 염치 없나...-_-;;;)
둘리.CSIEDA 님이 쓰신 글 :
: VC 로 만드신 DLL이시면 아마도 VC runtime library 들 문제일수 있습니다.
: LoadLibrary 로 dll을 로딩할때 VC 환경(해당 dll 이 돌기위한 vc runtime library)을 가져와야 로딩이 됩니다.
:
: vc 의 배포 런타임 라이브러리(흔히 dll 파일들이죠) 을 path 등 걸어 주셔야 합니다.
:
: VC도 버전에 따라 다르니 참고해보세요..
:
:
:
:
: 임형섭 님이 쓰신 글 :
: : LoadLibrary로 dll 파일을 불렀을때, NULL 값이 나오는 이유를 모르겠네요.
: : 파일이 존재만 한다면 NULL값이 안나와야 하는것 아닌가요?
: : HINSTANCE hInst = LoadLibrary(TEXT("asn1.dll")); 이런식으로 불렀는데 NULL값이 나오더군요
: : asn1.dll의 위치는 해당 프로젝트의 DEBUG폴더와 소스가 있는 폴더에 넣어놓았고, implib로 만든 lnk 파일도(이 dll이 vs로 작성된것이라서) 프로젝트 메니저를 통해서 add한 상태 입니다.
: : 혹시 dll을 만드는 방법에 따라서 로드가 될수도 되지않을수도 있는건가요?
: : 참고로 Memo1->Text = GetLastError를 통해서 보니 126 이 나오더군요. 이것이 ERROR_MOD_NOT_FOUND가 나오던데 상세설명이 The specified module could not be found더군요? 이게 파일을 못 찾겠다는것 아닌가요?
: : 이 상황을 이해 하지 못하겠네요. 그래서 다른 dll 파일을 같은 방식으로 했을때는 NULL값이 안나오던데...
|