이전 Post에 이어서 이번 Post에서는 Eclipse를 사용하여 Autotools Project를 직접 만들어 보면서 개발하는데 발생하는 여러가지 문제들을 해결해 보도록 하겠습니다.

5. Autotools Project 생성

설치 및 설정을 마쳤으니 이제 Eclipse를 사용해서 Autotools Project(C Project)를 만들어 봅시다.

Eclipse - New Project

Eclipse - New Project

C Project를 새로 만들기 위해서 Eclipse를 실행한 다음, File -> New -> C Project를 Click합니다.

Continue reading »

Tagged with:  

이전에 Eclipse CDT를 사용하여 개발했던 Project에 Autotools를 적용하기 위한 방법을 찾다가 Eclipse Plugin을 살펴보니 Incubation 중에 Autotools Support for CDT를 찾을 수 있었습니다.

그것을 사용해서 기존의 Project를 Autotools Project로 만들어 보니, 기존에 Autotools를 조금 사용할 줄 알면 편리하게 개발할 수 있다는 생각이 들더군요.

그래서 이번 Post에서는 Project를 만들면서 경험했던 삽질들을 정리할 겸해서, Ubuntu에서 Eclipse CDT를 사용하여 Autotools Project를 생성하여 개발하고 Debugging하는 방법을 적어보도록 하겠습니다.

1. Autotools?

먼저 Autotools가 무엇인지 모르는 분들을 위하여 간단하게 설명해 보겠습니다. Linux에서 Apache나 PHP와 같은 Open-source Project를 Compile 해 본 경험이 있다면 대부분 다음과 같은 과정을 거쳤을 것입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
(blah blah....)

# make
make  all-recursive
make[1]: Entering directory `/home/ioriy2k/workspace/test'
Making all in src
make[2]: Entering directory `/home/ioriy2k/workspace/test/src'

gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.c
mv -f .deps/test.Tpo .deps/test.Po
gcc  -g -O2   -o test test.o  
(blah blah...)

# sudo make install
Making install in src
make[1]: Entering directory `/home/ioriy2k/workspace/test/src'
make[2]: Entering directory `/home/ioriy2k/workspace/test/src'

test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
  /usr/bin/install -c test '/usr/local/bin'
(blah blah...)

Continue reading »

Tagged with:  

이전 Post에 이어서 Borland C++ Builder 6로 작성한 Project를 문서화하기 위해서 Doxygen을 사용하는 방법에 대해 계속해서 알아보겠습니다.

이번 Post에서는 Doxygen의 GUI Configuration Tool인 Doxywizard를 사용하여 편리하게 HTML, CHM 문서를 생성하는 방법을 설명합니다.

4. Doxywizard로 HTML 문서 만들기

Doxygen은 Command-line Tool이기 때문에 Command Interpreter(cmd.exe)를 사용하여 명령행으로 실행해야 합니다. 그리고 Doxygen을 사용하기 위해서는 Doxygen이 문서를 생성하기 위한 Configuration File이 필요합니다.

그러나 Doxygen의 Front-end인 Doxywizard를 사용하면 쉽게 Configuration File 만들 수 있고, 문서도 또한 쉽게 생성할 수 있습니다.

이번에는 가장 기본적인 문서인 HTML 문서를 생성하기 위해 Doxywizard를 사용하여 설정하는 방법과 실제 문서를 생성하는 방법을 알아봅시다.

Doxygen의 수많은 설정 Option을 설명할 수는 없기 때문에 Doxywizard를 처음 실행한 Default Option에서 꼭 필요하거나 설정하면 편리한 Option만 간단하게 설명합니다.

자세한 Option과 설명이 필요하다면 Doxygen Manual의 Reference Manual – Configuration Section을 참고하기 바랍니다.

Continue reading »

Tagged with:  

Doxygen은 여러 Programming Language를 위한 문서화 도구입니다. Source Code를 문서화한다는 것은 Code내의 주석을 통하여 Code의 구조와 Interface를 문서로 만드는 것을 의미합니다.

Doxygen을 사용하면 C++, C, C#, Fortran, Java, Objective-C, PHP, Python 등의 언어를 사용한 Source Code에 Doxygen에서 정의한 Style로 주석을 작성하면 자동으로 문서를 생성할 수 있게 됩니다.

생성된 문서는 마치 MSDN이나 기타 Live API Document와 같은 형식으로 Web Browser, PDF Reader, CHM Help 등으로 열람이 가능합니다. 이것은 여럿이 동시에 작업하는 Project에 더욱 유용합니다.

이번 Post에서는 Borland C++ Builder 6로 작성한 Project를 Doxygen을 사용하여 문서화하는 방법을 다루도록 하겠습니다.

1. Doxygen 설치

Doxygen 자체는 Source Code의 주석을 사용하여 문서를 자동으로 생성하는 도구로서 IDE와 통합되어 동작하지 않습니다. 다만 Doxygen에서 정의한 Style에 주석을 Project 개발시에 Source Code에 작성하면 됩니다. (Java, Flex의 경우에는 문서화 도구인 JavaDoc, ASDoc Style로 작성한 주석을 바로 Parsing하여 Eclipse에서 해당 Class나 Method에 대한 주석을 바로 확인할 수 있습니다.)

Continue reading »

Tagged with:  

Borland C++ Builder 6를 사용하면서 Debugging 시에 Breakpoint가 제대로 동작하지 않는 경우가 있습니다. 특히 여러 Static Library와 DLL, BPL을 참조할 때 해당 LIB, DLL, BPL 내의 Source에 Breakpoint를 설정하는 경우 발생하기 쉽습니다.

이번 Post에서는 이런 경우에 Breakpoint를 정상적으로 동작하도록 설정하는 방법을 다뤄보도록 하겠습니다.

Method 1: Project Option을 확인

Project Options - Compiler

Project Options - Compiler

가장 먼저 이런 경우에 대처할 수 있는 방법은 Debugging하려는 최종 DLL, BPL 또는 EXE Project와 참조하는 모든 Static Library가 Debug Mode로 Compile 되었는지 확인하는 것입니다.

Continue reading »

Tagged with: