<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=LazarusCompleteGuide%3A3.3</id>
	<title>LazarusCompleteGuide:3.3 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=LazarusCompleteGuide%3A3.3"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:3.3&amp;action=history"/>
	<updated>2026-05-02T07:19:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:3.3&amp;diff=3118&amp;oldid=prev</id>
		<title>Onionmixer: LCG 3.3 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=LazarusCompleteGuide:3.3&amp;diff=3118&amp;oldid=prev"/>
		<updated>2013-02-18T12:21:39Z</updated>

		<summary type="html">&lt;p&gt;LCG 3.3 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==IDE를 재컴파일하기==&lt;br /&gt;
&lt;br /&gt;
IDE는 스스로 재생성할 수 있다. SVN 저장소를 이용해 라자루스 소스를 다운로드했다면 SVN 업데이트를 이용해 현재까지 소스에 대한 복사본을 보관할 수 있을 것이다. 그리고 나서 기능에서 최근 변경내용을 보려면 그 전에 라자루스를 재빌드해야 할 것이다 (라자루스 SVN 저장소는 소스 코드만 포함한다). IDE를 재빌드하는 또 다른 이유는 패키지를 설치하기 위해서이다. 라자루스는 현재 정적 패키지만 지원하므로 새 패키지가 설치될 때마다 IDE를 재컴파일해야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
다중 위젯 셋을 가진 운영체제를 이용 중이라면 다른 위젯 셋에 대해 IDE를 컴파일할 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
사용자는 라자루스가 모든 위젯 셋에 동일하게 지원하지는 않음을 유념할 필요가 있다. 예를 들어, 개발자들이 전반적으로 Gtk 위젯 셋 개발에 많은 시간을 투자한 반면 Mac OS X에서 Cocoa는 개발 시작 단계일 뿐이다. 라자루스는 크로스 컴파일을 지원하기 때문에 사용자는 IDE에 가장 안정적인 위젯 셋을 선택해야 한다. 이는 Tools→Build Lazarus with profile: xyz를 통해 시작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
승인 대화창이 닫히면 라자루스는 xyz 설정에 따라 재빌드된다. 오류가 발생 시 프로세스를 중단할 수도 있는데, 오류의 가장 공통된 원인은 파일의 다중 버전 때문이다. 만일 이 때문이라면 Tools ⇒ Configure &amp;quot;Build Lazarus&amp;quot; 메뉴의 Clean Up 옵션이 도움이 될 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:lazarus_3.102.png|none|533px|thumb|그림 3.102: Tools→Build Lazarus로 호출 이후 표시되는 라자루스를 재빌드 승인 창]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
사용자는 라자루스 재빌드를 위한 여러 설정을 구성할 수 있다. 해당 설정은 Tools ⇒ Configure &amp;quot;Build Lazarus&amp;quot;... 의 Configure &amp;quot;Build Lazarus&amp;quot; 대화창에서 찾을 수 있다. 해당 대화창에는 사전에 정의된 빠른 빌드 옵션들이 포함되어 있지만 모든 설정을 수동으로 구성하는 것도 가능하다.&lt;br /&gt;
&lt;br /&gt;
[[image:lazarus_3.103.png|none|594px|thumb|그림 3.103: Tools ⇒ Configure &amp;quot;Build Lazarus&amp;quot;를 통해 접근한 Configure &amp;quot;Build Lazarus&amp;quot; 대화창]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Profile to build combobox 는 초보자를 위해 설계되었으며, 몇 가지 기본적 프리셋 옵션들을 제공한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
콤보상자를 끌어내리면 아래의 재빌드 조합들과 방법들이 표시된다:&lt;br /&gt;
&lt;br /&gt;
* BuildLCL: LCL만 재컴파일된다.&lt;br /&gt;
* Build IDE with packages: 모든 설치된 패키지와 함께 IDE가 재빌드된다.&lt;br /&gt;
* Build IDE without packages: IDE만 재빌드된다.&lt;br /&gt;
* Build All: 모두 재컴파일한다.&lt;br /&gt;
* Clean up+Build All: 재빌드 전에 불필요한 모든 파일이 삭제된다 (예: 재생성될 .ppu 파일). 이후에 모두 재컴파일된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[...]생략부호 버튼을 누르면 자신만의 프리셋 조합을 리스트에 추가할 수 있는 대화창이 열린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
사용자는 재빌드해야 할 위젯 셋을 LCL widget type 콤보상자에서 설정한다. 대부분 운영체제에선 다중 위젯 셋을 이용할 수 있다. 추가 위젯 셋에 필요한 라이브러리를 이용할 수 있도록 확실히 해야 한다. 예를 들어, 윈도우에서 Qt-4 라이브러리를 준비하지 않고 Qt 위젯 셋을 선택하는 것은 말이 안 된다. 또한 모든 위젯 셋이 같은 개발 수준에 있지는 않음을 유념해야 한다. 현재는 아래 위젯 셋을 이용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px solid black;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color: white; background-color: black;&amp;quot;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;위젯 셋&amp;#039;&amp;#039;&amp;#039;||&amp;#039;&amp;#039;&amp;#039;라자루스에서 현재 상태&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|Gtk||안정적 상태이나 구식&lt;br /&gt;
|-&lt;br /&gt;
|Gtk 2||베타 상태, 하지만 라자루스 0.98 이후부터 Linux와 FreeBSD에서 기본 값&lt;br /&gt;
|-&lt;br /&gt;
|Win32/Win64||안정적 상태&lt;br /&gt;
|-&lt;br /&gt;
|WinCE||베타 상태&lt;br /&gt;
|-&lt;br /&gt;
|Carbon||베타 상태&lt;br /&gt;
|-&lt;br /&gt;
|Qt||알파 상태&lt;br /&gt;
|-&lt;br /&gt;
|fpGUI||실험상태&lt;br /&gt;
|-&lt;br /&gt;
|NoGUI||실험상태&lt;br /&gt;
|-&lt;br /&gt;
|Cocoa||실험상태&lt;br /&gt;
|- style=&amp;quot;color: black; background-color: gray;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |표 3.6: 이용 가능한 위젯 셋&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
안정 상태가 아닌 위젯 셋 몇몇은 최신 FPC 버전에 의존한다 (SVN을 통해 이용 가능). FPC 안정 버전을 이용 시 (보통은 오래된 버전) 컴파일이 hang으로 이어질 수 있는데, 필요한 파일을 찾을 수 없기 때문일 가능성이 높다. 라자루스 설치 시와 동일한 사용자 권한을 이용할 수 있는 위젯 셋을 전환할 때는 조심해야 한다. 예를 들어, 패키지 관리자를 이용해 라자루스를 리눅스에 설치한 경우 루트 권한이 필요하다 (패킷 관리자의 시작 시 루트 비밀번호를 입력해야 함). 일반적으로 리눅스에서 사용자는 루트 사용자로 작업하지 않기 때문에 위젯 셋 변경에 실패할 것인데, 라자루스 디렉터리에 필요한 권한이 누락되었기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이러한 경우 해결책은 sudo 명령을 이용해 라자루스를 시작하는 방법이다. 하지만 이 방법 또한 모든 유닉스 시스템에서 작동하는 것은 아닌데, 그 이유는 X-호스트가 현재 계정 외 다른 계정을 사용할 만큼 항상 여유 있는 것이 아니기 때문이다. 따라서 IDE가 X-호스트로 연결할 수 없다면, 현재 X-서버를 시작한 계정은 콘솔 창에 xhost+ 명령을 실행해야 한다.&lt;br /&gt;
&lt;br /&gt;
[[image:lazarus_3.104.png|none|592px|thumb|그림 3.104: 5개의 사전 정의된 Profile to Build 옵션을 표시하는 Configure &amp;quot;Build Lazarus&amp;quot; 대화창]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
라자루스는 아래의 부분들로 구성된다:&lt;br /&gt;
&lt;br /&gt;
* LCL: 라자루스 컴포넌트 라이브러리와 현재 위젯 셋. LCL은 TButton이나 TForm과 같은 시각적 컴포넌트를 포함한다. 비시각적 컴포넌트는 LCL에 속하진 않으나 프리 파스칼 라이브러리에서 제공된다 (FCL 또는 RTL).&lt;br /&gt;
* 패키지 등록: 모든 라자루스 패키지에서 사용하는 기본적 패키지 유닛을 포함한다.&lt;br /&gt;
* IDE Interface: IDEIntf 패키지. IDE를 확장하는 각 런타임 패키지는 해당 인터페이스 패키지를 포함해야 한다. &lt;br /&gt;
* SynEdit: IDE가 필요로 하는 소스 코드 에디터 컴포넌트이다. 시각적 컴포넌트 TSynEdit와 하이라이터를 포함한다.&lt;br /&gt;
* CodeTools: 소스 코드의 분석과 편집을 위한 코드 집합체이다.&lt;br /&gt;
* IDE: 위를 제외한 나머지 IDE.&lt;br /&gt;
* Example(예제): 예제 디렉터리에 위치한 단순한 데모. 좀 더 복잡한 데모와 예제는 예제 아래의 여러 하위디렉터리에 위치한다.&lt;br /&gt;
* Starter: IDE가 재컴파일 시 재시작하는 애플리케이션 startlazarus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이 부분들은 순서대로 되어 있다. 즉, LCL을 재빌드할 때는 그 아래 모든 부분들도 재빌드되어야 함을 의미한다. 각 부분은 라디오버튼으로 각각 제어할 수 있다:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
None (좌측열, 컴파일 없음), Build (중간열, 컴파일), Clean+Build (우측열, 클린업 후 컴파일).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LCL Interface 는 라자루스의 컴파일에만 관련되며 (LCL를 포함) 다른 모든 IDE 특징들은 프로젝트 메뉴에 컴파일러 설정들을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clean all 를 활성화하면 컴파일에 필요하지 않은 모든 파일을 삭제한다 (.ppu 파일과 같은). 특히 위젯 셋을 변경할 때 해당 옵션을 활성화해야 한다. 설치된 패키지를 IDE와 함께 재빌드해야 한다면 With packages 를 활성화한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
사용자는 Options 필드를 이용해 컴파일러로 파라미터를 전달할 수 있다. 이는 OPT 컴파일러 스위치로 명령 행에 추가된다. 예를 들어, 라자루스를 수정부(revision) 21913까지 Qt 위젯 셋용으로 컴파일해야 할 경우, -dUse_QT_45 파라미터는 전달되어야 한다 (Qt-버전 4.5). 많은 파라미터들은 여전히 실험적 문자를 가지고 있으므로 효능을 항시 보장할 수는 없음을 명심한다. 설정의 영향을 받는 라자루스 컴포넌트는 컴파일 후 변경내용을 활성화하기 위해 상단 부분에 있는 Clean으로 설정해야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크로스컴파일을 위해선 Target OS를 해당 이름의 필드에 설정할 수 있다. 목표 OS에 필요한 라이브러리와 모든 컴파일된 binutil이 존재해야 한다. 컴파일이 다른 CPU을 목표로 하는 경우, 이 CPU는 Target CPU로 설정되어야 한다. IDE를 다른 디렉터리로 컴파일하려면 이 디렉터리는 Target directory로 설정해야 한다. 해당 설정은 IDE에만 영향을 미치며, 라자루스의 다른 부분들에는 적용되지 않는다. 라자루스 재빌드가 성공하면 Restart after building IDE 확인상자를 활성화하여 자동 재시작을 명령할 수 있다. 변경내용은 재시작 후에만 효과가 나타난다. 컴파일러 출력 메시지를 연구하고 싶다면 해당 옵션을 취소해야 하는데 보통은 활성화된 채로 유지된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Confirm before build 를 활성화하면 재시작 전에 승인을 요한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Build 를 클릭하면 설정이 저장되고 재빌드가 시작된다. 추후에 재빌드를 실행할 것이라면 Save settings 버튼으로 변경된 설정을 저장할 수 있다. Cancel 버튼은 모든 변경내용을 취소하고 대화창을 닫는다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
재빌드가 완전히 잘못되어 IDE가 더 이상 응답하지 않는다면 어떤 선택권이 있을까?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
우선 콘솔을 시작하고 라자루스 디렉터리로 가야 한다. 명령 행 make clean all을 이용해 최소 IDE를 빌드하여 새로운 시작을 할 수 있다. (윈도우에서 라자루스의 make.exe 는 PATH 환경 변수에서 다른 모든 make 실행 파일보다 앞에 위치해야 한다.) 이전에 설치된 패키지들은 현재 이용할 수 없지만 설치를 위해 표시되어 있다. Build Lazarus 는 표시된 패키지들을 포함하며, 새로 시작한 이후 통합한다. 새 패키지의 설치로 인해 문제가 발생할 경우 일반적으로는 패키지를 제거하면 문제가 해결될 것이다.&lt;br /&gt;
&lt;br /&gt;
[[Category:LazarusCompleteGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>