C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59848] Re:Debug 모드와 Release 모드의 차이점
둘리.CSIEDA [dooly386] 3093 읽음    2010-01-20 15:23
Dynamic RTL 일겁니다.
Dynamic RTL 은 Debug/Release 와 관계 없습니다.
말그대로 Runtime Library 를 Dynamic 하게 사용할 것인지 하는것을 정합니다.

Dynamic RTL 은 쉽게 말해서 DLL 입니다.

즉 DLL을 사용하게 되면 Link 시에 해당 object code가 필요 없이 외부로 연결되는 것이라 실행시 해당 DLL를
로드하여 처리하게 됩니다. 그러므로 프로그램 배포시 해당 dll / bpl 들을 같이 배포해야 합니다.
RTL 을 끄고 하면 이러한 외부 파일을 사용하지 않는다는 뜻이죠.
그러므로 link 시에 해당 object code들을 link 에 참여하여 exe에 모두 넣어야 합니다.

그럴려면 해당 code 의 object 코드가 있어야 하며 아래의 경우
LresultFromObject 함수가 VCLACTIONBAND.LIB 에서 호출되어 사용하게 되는데 그 원형 object 파일이
해당 프로젝트에 없다는 것 입니다.
위의 함수가 어디에 있는지를 찾으셔서 프로젝트에 lib 또는 obj 형태의 파일로 추가해 주셔야 합니다.

아주 작은수준의 프로그램에 있어서 배포의 용이를 위하여 RTL 을 끄고 합니다만,
C++ Builder의 경우 exe 크기가 VC++ 보다 상대적으로 큰 관계로 자주 사용하지는 않습니다.

참고하시기 바랍니다.


사악왕 님이 쓰신 글 :
: Debug 모드에서 실행이 되다가
:
: Project 에서 Options 으로 들어가서 C++ Linker 로 들어가서 Dynamic RTC 에있는 부분을 False 로 하고
: Component로 들어가서 Install Packages로 들어간다음에 Build with runtime packages에 부분에 체크를 해제 한후에
:
: Release 모드로 실행을 하니까
:
: [ILINK32 Error] Error: Unresolved external 'LresultFromObject' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\7.0\LIB\RELEASE\VCLACTNBAND.LIB|ActnMenus
:
: 이러한 에러가 발생을 해서요
:
: 이렇게 세팅을 한이유는 이렇게 하면 EXE 파일에 거의 모든것이 들어가서 나중에 따로 파일을 넘겨 줄필요가 없다고 하더라고요 그래서 이렇게 했더니 이러한 문제가 발생을 해서요
:
: 위에2개의 세팅을 전에 처럼 한후에 프로그램을 Debug 모드와 Release 모드로 하면 문제 없이 실행이 되어서
:
: [ILINK32 Error] 이거 너무 무서워요 ㅠ.ㅠ
:
: 왜 이러한 에러가 발생하는지 궁금하서요 이렇게 글을 남김니다.
:
: 컴포넌트는 다  정확이 설치를 했습니다.... 했을껍니다...... 했어요 ㅠ.ㅠ

+ -

관련 글 리스트
59834 Debug 모드와 Release 모드의 차이점 사악왕 1739 2010/01/20
59848     Re:Debug 모드와 Release 모드의 차이점 둘리.CSIEDA 3093 2010/01/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.