요즘 작업을 우분투 <-> 리눅스 왔다리 갔다리 하면서 하고 있다.
지금 내 작업 PC에는  ubuntu desktop 9.10을 설치하여 사용하고 있는데.
공용 서버로 오늘 우분투 서버를 깔아봤다.

석사이후론 애들만 시켜버릇해서. 리눅스를 깔아본게 몇년만인지.ㅋ
암튼 우분투 데스크탑만 깔다가 올만에 서버깔고 콘솔뜨니 당황스럽더라.ㅋ

암튼, Ubuntu 서버를 깔면 콘솔이 뜬다.
이럴경우 우분투 데스크탑을 쓰는 방법은 아래와 같다..

$sudo apt-get update
$sudo apt-get dist-update

$sudo apt-get install ubuntu-desktop

$sudo /etc/init.d/gdm start

The above command will install GNOME desktop

If you wan to install a graphical desktop manager without some of the desktop addons like Evolution and OpenOffice, but continue to use the server flavor kernel use the following command

$sudo aptitude install --no-install-recommends ubuntu-desktop

If you want to install light weight desktop install xfce using the following command

$sudo apt-get install xubuntu-desktop

If you want to install KDE desktop use the following command

$sudo apt-get install kubuntu-desktop


신고

'빵꾸똥꾸 개발자 > Linux' 카테고리의 다른 글

printk  (0) 2011.05.13
mib2c 사용법  (0) 2011.05.02
ctags & cscope 설치 및 사용하기  (0) 2010.03.19
How to install GUI in Ubuntu 9.10 (Karmic) Server  (0) 2010.03.17
ubuntu 한글설정  (0) 2010.03.02
kdevelop로 리눅스에서 C 코딩 하기  (0) 2007.10.27
Posted by 나마스떼

댓글을 달아 주세요

ibiconv 라이브러리는 GNU 프로젝트의 하나로 인코딩간의 변환을 지원한다. linux 계열의 소프트웨어에서 문자열 인코딩 변환은 전부 이 라이브러리로 이루어질 정도로, 아주 중요한 포지션을 담당하는 라이브러리이다. 예를 들어 php의 iconv() 함수는 최종적으로 이 라이브러리를 사용하게 된다.

Windows의 경우 인코딩 간 변환은 WideCharToMultiByte() 나 MultiByteToWideChar() 함수를 통해 할 수 있기 때문에 대부분의 경우 libiconv가 필요 없다. 하지만 Windows Mobile 환경에서는 OS 언어에 대한 문자열 변환만을 지원하기 때문에, libiconv와 같은 인코딩 변환 라이브러리가 필요해진다.

따라서 이 글에서는 libiconv를 Visual Studio에서 컴파일하는 방법을 살펴보기로 한다.

linux 쪽의 프로젝트를 포팅하는 경우에는 Visual Studio 프로젝트 파일을 어떻게 구성할지가 제일 난감하다. libiconv 의 경우도 어디서부터 손을 대어야 할지가 굉장히 난감했었는데, 소스 파일을 들여다 보면, 다행히도 대부분이 헤더 파일이고 c 파일은 몇 개 없다는 사실을 발견할 수 있다.

두번째로 다행인 점은 다른 오픈 소스 프로젝트와는 다르게, libiconv의 경우에는 몇 버전 전까지만 해도 Visual Studio 에서 native compile을 지원했었다. 하지만 아쉽게도, 이제는 mingw 프로젝트 때문에 win32용 응용 프로그램을 gcc로 컴파일할 수 있게 되어 더 이상 지원하지 않는다고 한다. 그러나 일단 VS용으로 터닦이 공사가 끝난 터라 큰 문제 없이 포팅 가능하다.

기본적으로 다음과 같은 수순으로 작업하면 된다. libiconv 1.13.1을 사용하였다.

  1. visual studio 에서 dll 프로젝트를 구성한다.
  2. 컴파일해야 하는 소스 파일은 3개.  lib/iconv.c  lib/relocatable.c libcharset/lib/localcharset.c   뿐이다. 컴파일 할 때 발생하는 include path 관련 에러를 모두 잡아준다.
  3. libcharset/include/libcharset.h.build.in 과 include/iconv.h.build.in 의 확장자를 수정하여 h 파일로 바꾼다. build.in을 사용하는 이유는 dll export 키워드를 넣어주기 위함이다.
  4. localcharset 에서 LIBDIR 관련 에러가 나는데, 주석으로 막아버린다.
  5. @HAVE_VISIBILITY@ 나 @DLL_VARIABLE@ @ICONV_CONST@ 따위가 있는데, 이건 autoconf 에서 자동으로 이름이 바뀌는 변수들로, 각각 없애고, 없애고, const로 바꿔주면 된다.

여기까지가 win32 용의 dll로 컴파일 하는 방법이다. 좀 더 자세한 변경 사항을 보고 싶다면, http://wiki.michgan.net/moin.cgi/iconv/Windows 을 본다.

Windows Mobile 용의 dll로 컴파일하려면 위의 작업에서 추가적으로 errno 변수 관련 작업을 해줘야 한다. Windows Mobile 에는 errno 변수가 없기 때문이다. 그냥 dll 내에서 int errno; 라고 선언하고 몇몇 매크로를 define 해주는 것으로 컴파일이 가능하다.
물론 errno 값을 dll 외부에서 확인하려면 조회할 수 있는 함수와 thread local storage에 저장이 되도록 구현해야겠지만, 에러 유무만 알면 됐지 뭐. diff 파일이 필요하다면 http://wiki.michgan.net/moin.cgi/iconv/WindowsMobile 을 본다.

이상으로 libiconv 프로젝트를 win32 용의 dll로 컴파일 하는 방법을 살펴 보았다.
참고로 libiconv는 LGPL 라이센스이다.

출처 : http://blog.michgan.net/49

신고

'빵꾸똥꾸 개발자 > Windows' 카테고리의 다른 글

win32 vc2005/2008 배포시 문제 해결  (0) 2010.03.24
[win32] libiconv 포팅하기  (0) 2010.03.17
Posted by 나마스떼

댓글을 달아 주세요



티스토리 툴바