DLL은 실행파일안에 포함되지 않습니다.
디버그모드와 릴리즈 모드 각각 컴파일되는 폴더가 다릅니다.
디버그 모드로 실행시 잘되고
릴리즈모드에서는 안되는 것은
아마도 디버그 폴더에는 해당 DLL이 있어서
잘 실행되는 것일 겁니다.
DLL을 이용하는 프로그램은 프로그램이 불러올수 있는 위치에
DLL이 있어야 합니다.
같은 폴더가 기본이고
다른 폴더(예, 윈도우 시스템 폴더)의 경우는
프로그램에서 DLL위치를 지정해주는 방식을 씁니다.
또는 윈도우 패스(path)에 위치를 등록해 놓던지.
SHAWN 님이 쓰신 글 :
: 안녕하세요. C++builder XE버전을 사용하고 있는 초보 개발자 입니다.
: 프로그램을 완성하고 배포하기 위해 debug에서 release 모드로 전환을 하고
: 컴파일 후 프로그램을 실행했을 때 이런 에러가 나옵니다.
:
: ===========================================================
: The program can't start because XXXXX.DLL is missing from your computer.
: Try reinstalling the program to fix this problem.
: (XXXXX.DLL은 회사에서 사용하는 라이브러리여서 공개가 힘듭니다.)
: ===========================================================
:
: debug 모드일 때는 프로그램 실행이 잘 됬는데 release로 바꾸니 갑자기 이런 에러가 나오네요.
: 다행히 이 DLL파일을 실행파일과 같은 위치에 넣으니 되긴한다만....
: 왜 이런 에러가 발생하는지 원인이 정말 궁금하네요.
|