[질문] 오디날(ordinal) 12384을(를) DLL mfc90.dll에서 찾을 수 없습니다.
글쓴이: toctech / 작성시간: 월, 2008/12/22 - 1:27오후
안녕하세요,
윈도우 비스타에서 비주얼 스튜디오 2008로 개발한 다이얼로그 형태의 프로그램을
윈도우 XP에서 실행하려고 하니 위와같은 오류가 발생합니다.
MS에서 배포한 'Visual Studio 2008 재배포 패키지'도 설치했고,
필요한 모든 DLL이 있다고 생각하는데, 위와같은 오류가 발생해서 좀 당황스러운데요,
오디날을 찾을 수 없다는 에러의 원인은 무엇인가요?
PS - 저와 동일한 개발환경을 가진 XP에서는 실행되는데요,....;;;
흠... 무엇이 문제일까요..
Forums:
http://homepage3.nifty.com/su
이미 확인해보셨을지도 모르겠지만,
http://homepage3.nifty.com/super-dacho/dl/DepVw102.lzh
이걸로 한번 체크해보세요. dependency viewer라고 현재 실행파일이 필요한
dll의 의존관계를 표시해줍니다. 빨간색으로 표시가 된놈은 일단 의심해보시구요.
특별한 라이브러리 문제가 발견되지 않을경우
C:\WINDOWS\WinSxS 하위의 라이브러리 등도 확인해봐야합니다.
Visual 2008 배포판을 인스톨하면 어떤 파일들이 더 복사가 되는지 모르겠지만
이 폴더아래 'x86_Microsoft.VC90.MFC***' 와 비스무리한 폴더가 있는지 확인해보세요.
이도저도 정안되면 devpia.com 에 문의를 -_-;
ordinal
Windows DLL 의 ordinal 는 함수 순서입니다.
DLL 에는 원하는 함수나 변수등을 외부에서 사용할 지 여부를 개발 단계에서 결정하게 되는데
ordinal 는 일종의 일렬번호입니다.
DLL 을 사용할때는 ordinal 나 텍스트로 된 이름으로 해당 함수나 변수를 사용하게 됩니다.
ordinal 11384 를 찾을 수 없다는 오류는 말 그대로 mfc90.dll 에서 11384번 함수를 사용할 수 없다는 뜻인데 원인은 모르겠습니다.
질문을 보고 제 PC 를 확인해 보니까
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC 위치에 mfc90.dll 이 있고 Depends.exe 로 확인해 보면 11384 번 함수는 잘 있군요.
참고로 영문(미국) 버젼 mfc90.dll 입니다.
버전 확인해보세요
제가 알기론
2008 버전 런타임이 2008 기본과 서비스팩1 이 서로 다른것으로 알고 있습니다.
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ko
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=ko
혹시 이것때문일 수도 있으니 확인해보세요
이렇게 하니 해결되네요 감사합니다.
이렇게 하니 해결되네요 감사합니다.
vs2008 redistributable sp1 설치하셔야 합니다.
저도 같은 경험이 있었는데 sp1 설치하니까 해결되었습니다.
SP1을 설치해보겠습니다.
깜빡 잊고 있었는데, 답글이..;;
밑에 답글 달아주신 분들 의견이 맞는것 같습니다.
제가 개발은 Visual Studio 2008 SP 1에서 했고,
재배포 패키지는 Visual Studio 2008을 받아서 했거든요,.. (SP1용 재배포 패키지가 따로 있는지 몰랐네요)
집에가서 빨리 확인해 봐야겠습니다.
감사합니다. (^^)(_ _)(^^) 꾸벅
mfc90ud.dll 파일 바꾸치기
저의 경우,
microsoft visual c++ 2008 Redistributable and microsoft visual c++ 2008 Redistributable SP 1
를 깔아도 안 되더라구요 에이 짜증 ㅎㅎㅎ
그래서 이 어프로치 채택 ㅋㅋ
C:\Windows\winsxs\x86_microsoft.vc90.debugmfc_1fc8b3b9a1e18e3b_9.0.21022.8_none_9b54853441e399d5
에 있는 mfc90ud.dll 파일을
잘 되는 동료 파일로 바꾸니깐, 잘 되는군요.
이넘의 MS~~~~
어킁 근데 이 글 3년 전이네 ㅎㅎ
별로 좋은 방법이 아닙니다. 프로그램 제작 단계에서
별로 좋은 방법이 아닙니다.
프로그램 제작 단계에서 설치본으로 제작하는 것이 가장 좋은 방법입니다.
RET ;My life :P
댓글 달기