출처: http://kemovitra.blogspot.com/2009/06/korean-installing-mingw-and-msys.html


 

MinGW와 MSYS 설치하기

윈도우처럼 오픈소스가 아닌 운영체제를 사용하면 컴파일할 필요를 별로 느끼지 않는다. 하지만, 리눅스를 쓰다 보면 커널 및 여러 쓸모있는 프로그램을 컴파일하게 되고 자연히 컴파일하는 버릇을 가지게 된다. 리눅스에서 쓰던 유용한 프로그램들을 윈도우에서도 쓸 수 있으면 얼마나 좋을까. 다행히 윈도우에서도 리눅스 프로그램을 포팅할 수 있도록 도와 주는 GCC 컴파일러를 제공하는 MinGW 프로젝트가 있다. 물론, 윈도우 전용 프로그램도 맘껏 만들 수 있는, 아주 쓸만한 대체적 개발 환경이다. 그럼, 이제 MinGW를 윈도우에 설치해 보자.

참고: Windows Vista 또는 Windows 7 환경에서는 파일 시스템에 대한 사용자 권한 제한 때문에 MinGW 사용시 컴파일 에러 같은 문제가 일어날 수 있다. 이러한 경우 다음과 같이 여러 해결 방법이 있다.

  • 자신의 사용자 폴더(C:\Users\Name) 또는 데스크탑(C:\Users\Public\Desktop)에 MinGW와 MSYS를 설치한다.
  • FAT 파티션이나 USB 메모리에 MinGW를 설치한다.
  • C:\MinGW에 설치했을 경우 MSYS를 실행할 때 MSYS (rxvt) 아이콘을 오른쪽 마우스 버튼으로 클릭하여 관리자 권한으로 실행한다.
  • USB 메모리에 PortableApps 플랫폼을 설치한 다음 MinGW PortableApp 받아서 설치하면 MinGW 설치가 쉽게 된다. 이렇게 하면 번거롭게 아래 설명을 따르지 않아도 된다.
  • Safe mode로 Windows를 시작한다.
  1. MinGW 설치에는 다음 3 가지 설치 프로그램이 필요하다. 모두 받아서 차례대로 설치하자.

  2. 먼저 MinGW 자동 설치자(MinGW-5.1.6.exe)를 실행한다. 그러면, Download and install 또는 Download only 둘 중 선택하라고 한다. Download and install 즉, 다운로드 후 설치를 선택한다.

    MinGW installer asks download only?

    다음은 MinGW 릴리스를 선택하는 질문인데 Current를 선택한다.

    MinGW installer asks you to choose package

    다음은 MinGW 설치 요소를 선택한다. MinGW base toolsg++ compiler 및 g77 compiler를 선택하기를 권장한다. 나중에 MSYS를 설치하기 때문에 아직은 MinGW make를 선택하지 않는다.

    Select the MinGW components to install

    다음은 설치 폴더를 결정한다. Windows Vista 및 Windows 7 사용자는 기본값인 C:\MinGW 대신 C:\Users\Public\Desktop\MinGW 폴더에 설치하기를 권한다. MinGW는 공백이 포함된 경로와 문제가 있으므로, "Program Files" 또는 "My Documents" 같은 폴더에 설치하지 않는 게 좋다. MinGW 설치 프로그램이 MinGW 요소를 스스로 받아서 설치한다.

    MinGW installer downloading components
  3. MinGW 설치가 끝나면, MSYS-1.0.11.exe를 실행해 MSYS를 설치한다.

    MinGW Destination Directory

    MinGW가 설치된 경로를 묻는 질문이 나오면, 실제로 MinGW가 설치된 경로(기본값 C:/MinGW 또는 C:/Users/Public/Desktop/MinGW)를 입력한다.

    MSYS asks MinGW path

    MSYS가 성공적으로 설치되면, fstab 파일(C:/MinGW/1.0/etc/fstab 혹은 C:/Users/Public/Desktop/MinGW/1.0/etc/fstab)을 텍스트 에디터(notepad.exe)로 열어 내용을 확인한다. 다음과 같이 /mingw 에 대한 실제 디렉토리 매핑이 올바로 되어 있어야 한다.

    C:/MinGW /mingw

    시작 프로그램 메뉴에서 MSYS (rxvt) 아이콘을 더블클릭하여 MSYS를 테스트해 본다. 익숙한 리눅스 명령어를 입력할 수 있는 터미널 창이 나타난다. 다음은 GCC 컴파일러의 버전을 알아보는 명령어인데 현재 3.4.5란 결과가 나올 것이다.

    $ gcc --version
    gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
    Copyright (C) 2004 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  4. 다음은 MinGW 개발 도구 모음(msysDTK-1.0.1.exe)을 설치한다. MSYS가 설치된 폴더(C:\MinGW\1.0 혹은 C:\Users\Public\Desktop\MinGW\1.0)에 설치하도록 한다. cvs, perl, ssh 같이 개발에 유용한 도구가 설치될 것이다.

    perl --version
    ssh --version
  5. 그 밖에 MinGW 프로젝트에서 여러 패키지를 받아서 추가적으로 설치한 수 있다. 예를 들어 mingw-utils 받아서 설치할 수 있다.
    cd /mingw
    tar xzvf mingw-utils-0.3.tar.gz

    다음 몇 가지 프로그램도 유용하다.

  6. MinGW 설치 폴더에 쓰기 권한이 없을 경우, 혹은 사용자 이름이 한글일 경우엔 환경변수 HOME을 정해 주는 것이 좋다. 자신의 홈 디렉토리를 따로 설정해 주는 것이다.
    Set your own HOME variable
  7. 마지막으로, 홈 폴더에 .profile 이름의 텍스트 파일을 만들어 컴파일 환경을 설정할 수 있다. 다음은 예제 .profile 내용이다.
    CC='/mingw/bin/gcc.exe '
    CFLAGS='-march=pentium2 -mtune=i586 -mthreads -O2 -g -fomit-frame-pointer -mms-bitfields -pipe '
    CPPFLAGS='-I/mingw/include -DWIN32 -DMINGW32 '
    CXXFLAGS="${CFLAGS}"
    LDFLAGS='-L/mingw/lib -Wl,--enable-auto-image-base -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc '
    PKG_CONFIG_PATH="C:\MinGW\lib\pkgconfig"
    export CC CFLAGS CPPFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH

    CFLAGS와 LDFLAGS를 각자의 취향에 맞게 고쳐서 사용하면 좋다. -march= 옵션으로 자신의 CPU에 최적화한 코드를 만들 수 있는데, i586, pentium-mmx, i686, pentium2, pentium3, pentium-m, pentium4, prescott, k6-2, athlon, athlon-4 따위에서 -march= 값을 고를 수 있다(자세한 정보).

    CFLAGS='-march=pentium3 -mthreads -O2 -fomit-frame-pointer -mms-bitfields -pipe '
    export CFLAGS


출처: http://mwultong.blogspot.com/2007/02/xp-windows-file-icon-change.html


윈도우는 파일의 확장자를 기준으로 하여, 파일 종류를 판단한 후, 그 파일에 맞는 아이콘을 자동으로 지정합니다. 이 파일 아이콘을 자신이 원하는 아이콘으로 변경하는 방법입니다.

우선 윈도우 탐색기 (Windows Explorer)를 실행하여,

메뉴: 도구 > 폴더 옵션 > 파일 형식 탭을 클릭한 후,

확장명이라는 곳에서 확장자를 선택합니다.

그런 후 고급 버튼을 누르면 "아이콘 변경"이라는 곳이 나옵니다. 여기서 자신이 원하는 아이콘을 지정해 주면 됩니다.


아이콘 파일인 ico 파일을 지정하거나, 다른 exe 나 dll 파일 속에 있는 아이콘을 지정할 수도 있습니다.

윈도우2000에서도 위의 방법대로 하면 됩니다.




USB에 자료가 많거나, 특히 외장하드 등을 연결할 때 파일 목록을 읽어 들이는 자동실행 기능을 꺼버리자.


윈도키+R -> gpedit.msc 엔터
-> 컴퓨터 구성 -> 관리 템플릿 -> 시스템
-> 화면 우측에 "자동실행 사용 안 함" 더블클릭
-> 사용
-> 자동 실행 사용 안함: 모든 드라이브
-> 확인


require 'test/unit' 

만 하면 OK 


이제 test code만 추가하자

'Tips > Ruby' 카테고리의 다른 글

Ruby 1.9.x 이상 버전에서 Unit Test 하기  (0) 2013.02.24

Android 4.2 에뮬레이터의 기본 이미지는 한글이 인식이 안된다.

이럴 땐 시스템 이미지를 다음처럼 바꾸면 된다.


먼저 Android SDK Manager에서 "MIPS System Image"를 다운로드 받자.



AVD에서 위에서 받은 이미지를 사용하도록 설정




요즘트위터페이스북더보기


TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

if (tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT){
    // 유심이 없는 경우
else {
    // 유심이 존재하는 경우
}


먼저 Rooting이 되어 있어야 가능.


adb remount

adb shell rm system/app/app.apk

adb uninstall packagename


tee가 실행 안된다...

걍 cygwin bash에서 아래 명령어로 저장하자.


$ adb logcat -v time | tee . logcat.txt

$ adb shell cat proc/kmsg | tee . kmsg.txt


원문: http://blog.daum.net/bluebread/8


저는 보통 ddms보다는 logcat을 사용하는데요.

로그를 실시간으로 보면서 자동저장할 수도 있다는 점에서 ddms보다 훨씬 강력합니다.


 logcat.pl

첨부한 파일은 자동으로 로그파일명에 날짜_시간 형식의 timestamp를 붙여서 저장하도록 한 perl script 입니다.

 
실행하면 다음과 같이 cmd 창에 메시지가 스크롤됩니다.

 
동시에 로그파일 디렉토리에 다음과 같이 파일이 생성되어 있게 됩니다.


요구사항
1. perl 이 설치되어 있어야 합니다. (당연!)


2. tee를 사용하기 위해 cygwin이 설치되어 있어야 합니다. 

   만약 리눅스 환경이라면 이미 tee가 있을 겁니다.

   (tee는 화면에 표시하는 동시에 파일로 저장하는 기능을 하는 유틸리티입니다.)


사용법

1. c:\ 에다가 logcat.pl을 복사합니다.
   다른 디렉토리를 사용하셔도 무방합니다.
 
2. 에디터로 log_dir을 자기가 쓰는 프로젝트 로그 파일 위치로 변경합니다.
   바꾸지 않으시면 현재 디렉토리(C:\)에 로그가 만들어집니다.
 
3. 다음 명령행을 입력하시면 실행됩니다.
   C:\> logcat.pl
 
   "-v time" 이 아닌 다른 파라미터를 주고 싶으시면 원하는 파라미터를 붙여서 실행하십시오.
   C:\> logcat.pl -v thread ActivityManager:I
 
 
파라미터를 주지 않으면 "-v time" 이 디폴트 파라미터로 주어집니다.
타임스탬프가 찍혀 나오므로 대개의 경우 가장 유용합니다.
 
다음 페이지에 가보시면 adb logcat에서 어떤 파라미터를 사용할 수 있는지 보실 수 있습니다.


http://ecogeo.tistory.com/251?srchid=BR1http://ecogeo.tistory.com/251


  • Default로 설정할 때
ResolverActivity.OnClick() {
.....
if (filter != null) {
                final int N = mAdapter.mList.size();
                ComponentName[] set = new ComponentName[N];
                int bestMatch = 0;
                for (int i=0; i<N; i++) {
                    ResolveInfo r = mAdapter.mList.get(i).ri;
                    set[i] = new ComponentName(r.activityInfo.packageName,
                            r.activityInfo.name);
                    if (r.match > bestMatch) bestMatch = r.match;
                }
                getPackageManager().addPreferredActivity(filter, bestMatch, set,
                        intent.getComponent());
            }
}
}
  • Default 해제 할 때 (Settings>Launch by default>Clear defaults)
InstalledAppDetails.onClick() {
........
else if(v == mActivitiesButton) {
mPm.clearPackagePreferredActivities(packageName);
mActivitiesButton.setEnabled(false);
}
........
}