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

델파이 Q&A
Delphi Programming Q&A
[14127] Re:Re:Re: 패키지 컴파일 - 전체 파일 첨부
빌더 [] 2289 읽음    2012-02-18 21:59
Untitled.png 30.4KB 8 개의 패키지 모두 컴파일된 캡쳐화면
MgPeak.rar 10.5MB 전체 압축 파일
첨부한 그림은.. 8개의 패키지 전체가 컴파일 되고 인스톨 된 화면을 캡쳐한 겁니다.

C:\MgPeak 를 기준 디렉토리로 사용했고, C:\MgPeak 루트 디렉토리에서 MgPeakXE2.groupproj 를
로드하면 런타임 패키지 4개, 디자인 타임 패키지 4개.. 도합 8개의 프로젝트가 올라올 겁니다. 거기서...
MyPeakXE2 를 선택하고 Build All 하면 전체 패키지가 일괄적으로 컴파일 될 겁니다.

컴파일 된 후... 4개의 디자인 타임 패키지를 하나씩 인스톨 해주면 됩니다. 한번의 Install 만으로 4개의
디자인 패키지를 설치할 수 있게하는 스크립트 정의는 생략합니다.

예제 소스들을 컴파일 할 때는.. 예제 프로젝트의 옵션설정에서 Search path 에 C:\MgPeak\DCUs 를
추가해 주면 될 겁니다.

잠깐 사용해 봤는데.. 소스코드가 자잘한 버그들이 많네요. 소스코드 자체의 버그문제 같은 것들은
알아서 해결 하시고요.  이전에 설치한 패키지 파일들은 전부 Uninstall 하고 사용하세요.

C:\MgPeak 디렉토리 하나 만들고, 거기다 첨부한 압축파일 풀어서 작업하면 될 겁니다.

파일 압축해서 올립니다.


PS)

프로젝트 설정 변경으로 들어가서 나올 때 Cancel 버튼 누르고 나오면 프로젝트 설정 자체가 깨지는
버그가 있더군요. RAD XE2 만 그런건지 아닌지는 모르겠네요. 이런 버그가 있으니까... 패키지 프로젝트
설정화면으로 들어갔다 나올 때는 변경을 한게 없더라도 Cancel 버튼을 누르지말고 Ok 버튼 누르고 나오세요.
안그러면 RAD XE2의 버그로 설정이 깨집니다.






하두고 님이 쓰신 글 :
: 빌더님 감사합니다.
: 하지만 제 실력이 미천하다 보니 전체적인 내용이 이해는 되지만 그걸 어떻게 해야 할지를 모르겠습니다.
: 다 된 밥 알아서 먹지도 못하니 밥상을 차려 달라고 하면 지나친 부탁일까요?
: 하지만 제겐 너무 중요한 것이다보니 부탁 좀 드리겠습니다.
:
: 빌더 님이 쓰신 글 :
: : 하두고 님이 쓰신 글 :
: : : WindowsXP_Home에 DelphiXE2 정품을 구매하여 사용하고 있습니다.
: : :
: : : 빌더님 도움으로 구글 코드사이트에서 MustangPeak를 다운 받았습니다.
: : :
: : : 다운받은 컴포넌트는
: : : CommonLIB, EasyListView, VirtualTreeView, VirtualShellTools
: : : 이렇게 4개인데요.
: : :
: : : CommonLIB와 EasyListView는 이상없이 설치가 잘 되었습니다.
: : :
: : : 그런데 VirtualTree 설치 중
: : : VirtualTreesD는 이상없이 컴파일이 되고 Install도 되는데요.
: : :
: : : VirtualTreesR을 Compile 하면 에러메세지가 나옵니다.
: : : 이 에러메세지는 적어 놓지를 않았네요.
: : : 그런데 이상한건 Compile할때 에러가 나던 것이 Build를 하면 에러가 안납니다.
: : : 그리고 Build를 한 다음 Compile를 하면 이상 없이 진행되구요.
: : :
: : : 그런데 문제는 그 다음입니다.
: : : 마지막으로 VirtualShellTools를 설치해야 하는데
: : : VirtualShellToolsD16를 Compile하면
: : : [DCC Fatal error] VirtualTreesR.dpk(39) : F2048 Bed unit format : 'C:\Mustangpeak\VirtualTreeView\Source\VirtualTrees.dcu' - Excepted version 23.0, windows unicode(x64)
: : : 이렇게 나옵니다.
: : :
: : : 해외사이트의 도움을 받아
: : : VirtualTreesR에서 {$IMPLICITBUILD OFF}를 {$IMPLICITBUILD ON}으로 수정하니 VirtualTreesD는 에러가 없어졌습니다.
: : :
: : : 이렇게 하고 VirtualShellTools를 다시 컴파일 하면
: : : 이번에는
: : : [DCC Fatal error] VirtualTreesR.dpk(1) : E2225 Never build package 'VirtualTreesR' must be compiled
: : : 이렇게 나옵니다.
: : : 물론 앞에서 'VirtualTreesR'는 컴파일이 되었는데도요.
: : :
: : :
: : : 참고로
: : : Tool->Options->Delphi Option->Library에서 [32bit Windows]의 [Library Path]에는
: : : C:\MustangPeak\CommonLib\Delphi
: : : C:\MustangPeak\CommonLib\Source
: : : C:\MustangPeak\EasyListView\Delphi
: : : C:\MustangPeak\EasyListView\Source
: : : C:\MustangPeak\VirtualTreeView\Packages\Delphi XE2
: : : C:\MustangPeak\VirtualTreeView\Common
: : : C:\MustangPeak\VirtualTreeView\Source
: : : C:\MustangPeak\VirtualShellTools\Delphi
: : : C:\MustangPeak\VirtualShellTools\Source
: : : 이렇게 추가했습니다.
: :
: :
: :
: :
: : 답변...
: :
: :
: : 무조건 컴파일 하고 보자는 식으로 빌드 부터 하지 말고, 패키지 소스코드를 확인해서 상호 의존관계 부터
: : 파악하는게 순서일 겁니다. 서로 의존적인 관계를 갖고 있는 패키지들을 컴파일 할 땐, 빌드 순서가 중요
: : 하니까요.
: :
: : {$IMPLICITBUILD ON} ... IMPLICITBUILD를 ON으로 해서 컴파일 하는 것은 결코 좋은 방법이 아닙니다.
: : 특히 패키지들이 상호 의존적인 관계를 가질 땐.. 더욱 그렇죠. 설령 컴파일이 된다고 해도, 다음 단계의
: : 빌드 과정에서 문제가 일어날 수 있기 때문입니다.
: :
: :
: : [DCC Fatal error] VirtualTreesR.dpk(1) : E2225 Never build package 'VirtualTreesR' must be compiled
: :
: : 위와 같은 빌드에러는...  IMPLICITBUILD를 ON으로 설정하고 컴파해서 일어난 부작용으로 보입니다.
: :
: :
: :
: : [DCC Fatal error] VirtualTreesR.dpk(39) : F2048 Bed unit format :
: :            'C:\Mustangpeak\VirtualTreeView\Source\VirtualTrees.dcu' -
: :                 Excepted version 23.0, windows unicode(x64)
: :
: : VirtualTreesR 패키지가 명시적으로 타겟 플렛폼이 지정되지 않은 채 빌드되다 보니까...
: : Win64 타겟 플렛폼으로 빌드 돼 버렸고, VirtualShellTools의 dcu 파일들과 오브젝트 속성이
: : 서로 다르게 생성되어(32비트 dcu 파일과 64비트 dcu 파일의 충돌) 일어난 문제 같네요.
: :
: : VirtualTreesR (.dproj)에 정의되어 있는 부분
: :
: : <Platform Condition="'$(Platform)'==''">Win64</Platform>   // Default로 Win64로 되어 있음
: :
: :
: : 런타임과 디자인타임 모듈간의 종속성... 그리고... 이런 종속성을 갖는 모듈들 서로가 또 상호 종속적인
: : 관계를 가질 때는... 사용자가 빌드과정에 개입 해줘야 합니다.
: :
: : 마이크로소프트 사의 Visual Studio 같은 개발환경은... 이 부분이 아주 잘 되어 있죠. 사용자가 빌드과정을
: : 의도대로 완전히 콘트롤 할수 있는 것은 물론이고, 심지어는 GCC 같은 컴파일러를 개발환경 자체에 통합
: : 시키는 것도 가능하고요.
: :
: : 그에 비하면 Embarcadero사의 개발환경은 이런 부분이 취약합니다.
: :
: : RAD XE2 환경에선... 모듈간의 상호종속 관계에 따라서 수동으로 빌드하는 방식을 택하거나...
: : 아니면 Build Events에서 Pre-build events 코맨드 스크립트를 정의해서 개입 하면 됩니다.
: :
: : 코맨드 스크립트를 정의해서 빌드하면... 개개의 패키지를 따로 install 할 필요 없이, 한번의 패키지 인스톨로 모든
: : 패키지가 인스톨 되게 해주는 것도 가능하고요.

+ -

관련 글 리스트
14121 Delphi XE2에 MustangPeak 설치가 안됩니다. 도와주세요. 하두고 2778 2012/02/16
14125     Re: 상호 의존적인 다중 패키지 컴파일 빌더 3051 2012/02/17
14126         Re:Re: 빌더님 어떻게 해야 할지 모르겠습니다. 하두고 2203 2012/02/18
14127             Re:Re:Re: 패키지 컴파일 - 전체 파일 첨부 빌더 2289 2012/02/18
14132                 Re:Re:Re:Re: 패키지 컴파일 - 전체 파일 첨부 하두고 2043 2012/02/20
14128                 Re:Re:Re:Re: 감사합니다!!! 빌더님!! sudden 1848 2012/02/19
14122     Re:Delphi XE2에 MustangPeak 설치가 안됩니다. 도와주세요. sudden 1871 2012/02/16
14123         Re:Re:다운받은 MustangPeak올려드립니다. XE2에서 설치하는 방법 좀 알려주세요. 하두고 1972 2012/02/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.