'It's think(Thought become things)' 카테고리의 다른 글
집으로 (0) | 2010.06.23 |
---|---|
하루 하루 (0) | 2010.06.22 |
삶에서 가장 중요한 것은 무엇일까 (0) | 2010.06.21 |
상해에서 첫 점심 (0) | 2010.06.21 |
시간과 인생의 성공적인 경영을 위한 열 가지 기본 법칙 (0) | 2008.12.03 |
집으로 (0) | 2010.06.23 |
---|---|
하루 하루 (0) | 2010.06.22 |
삶에서 가장 중요한 것은 무엇일까 (0) | 2010.06.21 |
상해에서 첫 점심 (0) | 2010.06.21 |
시간과 인생의 성공적인 경영을 위한 열 가지 기본 법칙 (0) | 2008.12.03 |
하루 하루 (0) | 2010.06.22 |
---|---|
No title (0) | 2010.06.22 |
상해에서 첫 점심 (0) | 2010.06.21 |
시간과 인생의 성공적인 경영을 위한 열 가지 기본 법칙 (0) | 2008.12.03 |
내 인생에 가을이 오면 (0) | 2008.11.26 |
No title (0) | 2010.06.22 |
---|---|
삶에서 가장 중요한 것은 무엇일까 (0) | 2010.06.21 |
시간과 인생의 성공적인 경영을 위한 열 가지 기본 법칙 (0) | 2008.12.03 |
내 인생에 가을이 오면 (0) | 2008.11.26 |
이해 (0) | 2008.11.24 |
"대한민국의 주권은 국민에게 있고, 모든 권력은 국민으로부터 나온다."
[�몄쭛]
[�몄쭛]
./configure --prefix=/usr/local이것은 라이브러리의 모든 결과화일이 /usr/local/include, /usr/local/lib로 들어가도록 해줍니다. (다른 ./configure들도 모두 --prefix=/usr/local를 붙여 실행하는 것이 좋습니다. 이것은 패키지 배포본은 /usr/include, /usr/lib에, 개인적으로 autoconf로 설치한것은 /usr/local 아래에 설치되게 됩니다.)
[�몄쭛]
cygwin으로 컴파일한 실행화일은 항상 cygwin1.dll을 필요로 합니다. 헌데, 이 dll을 포함한 어플리케이션은 상용으로 판매하려면 redhat사로부터 라이센스를 구입해야하므로 회사에서 쓰기에는 참 깝깝해지죠. 그래서 mingw 배포본에 포함된 gcc 및 binutil을 사용하여 컴파일하는 방법도 존재하지만, cygwin의 막강하고 깔끔한 bash 에뮬 개발환경이 부럽게 됩니다. 다음은 cygwin에서 mingw를 사용하여 "라이센스로부터 해방된" 실행화일을 만들기위한 설정들입니다.
[�몄쭛]
cygwin 개발환경을 사용하려고 하고 cygwin 독립적인 실행화일을 생성하고자 하는데 있어서, "-mno-cygwin"보다 더 간단한 방법이 존재합니다. 단지 Cygwin과 Mingw 배포본을 각각 별도의 디렉토리(예를 들면 "C:\CYGWIN"과"C:\MINGW")에 설치한 후, 여러분의 PATH 환경변수에서 Mingw 설치 디렉토리의 /bin 디렉토리를 cygwin 설치 디렉토리의 /bin보다 앞에 오게 설정합니다. (예를 들면, "PATH=%PATH%;C:\MINGW\BIN;C:\CYGWIN\BIN"). 이것은 원하는 모든 UNIX 툴을 이용할 수 있으면서 gcc는 mingw 버전을 사용하는 것을 보장합니다. (어~ 알고 있는데~ 하시는 분은 그냥 넘어가시길... )
cygwin상의 "/etc/profile"화일안을 보면 시스템 수준의 경로가 "/usr/local/bin", "/usr/bin", "/bin" 순으로 지정되어있다는 것을 명심하시기 바랍니다. 따라서, 윈도우즈 경로를 설정한 것으로는 충분하지 않습니다... 즉, cygwin 환경내에서도 mingw /bin 경로가 앞에 설정되도록 수정해야합니다. ("/etc/profile"을 수정하거나 수동으로 설정하는지 선택하시기 바랍니다).
[�몄쭛]
앞의 방법은 몇몇 라이브러리에서는 충돌이 일어납니다. (순수 ANSI C 기반이라면 괜찮지만, win32용 개발이거나 directx관련 코드 컴파일시에는 문제가 생기더군요.) 그래서, redpixel은 다음과 같은 방법을 추천합니다. (한달전에 약 2일정도에 걸친 엄청난 삽질을 통해 알아냈지만 의외로 방법은 간단하더군요.)
우선 gcc-mingw32 패키지를 cygwin setup을 통하여 설치합니다. 그런다음 /usr/include/mingw와 /usr/lib/mingw 디렉토리가 생겼는지 확인합니다.
끝입니다. 이제부터는 모든 컴파일, 링크때마다 항상 gcc, g++ 뒤에 --target=i686-pc-mingw32 -mno-cygwin 옵션을 붙이면 mingw로 컴파일됩니다. 여기에 주의할 점은 반드시 gcc 다음에 이어서 적어야한다는 점이며, 가급적 패키지가 아닌 라이브러리들은 /usr/local 위에 설치해야한다는 점입니다. (autoconf기반의 프로젝트라면 ./configure --target=i686-pc-mingw32 라고 적으면 mingw기반의 makefile을 만들어 냅니다.) 이제 cygwin1.dll을 사용하지 않는다는 것을 알려면 다음과 같이 해봅니다.
objdump -p 컴파일된실행화일명 | grep "DLL Name"
그러면 다음과 비슷한 출력이 나옵니다.
DLL Name: msvcrt.dll DLL Name: msvcrt.dll DLL Name: KERNEL32.dll
여기에 cygwin1.dll이 껴있으면 mingw를 사용하지 않고 cygwin기반으로 컴파일되었다는 뜻입니다. 주의할 점은 이렇게 컴파일해서 실행하려면, 템플릿 기반인 boost같은 라이브러리를 제외하고는 모든 /usr/local 아래에 있는 사용자 라이브러리들을 재컴파일 해서 사용해야만 합니다. 즉, mingw32기반의 obj코드와 cygwin기반의 obj는 호환이 되질 않더군요.
[�몄쭛]
앞서의 방법에 대한 보충입니다. 두번째 방법과 같이 gcc-mingw 패키지를 설치하고 mingw32 배포본도 적당한 디렉토리에 설치합니다. 그다음에는 다음과 같이 모든 mingw 라이브러리와 헤더화일을 복사합니다.
cp /cygdrive/c/mingw/include /usr/include/mingw cp /cygdrive/c/mingw/lib /usr/lib/mingw중간에 gl 디렉토리 관련해서 복사를 못한다고 나오면, /usr/include/mingw 디렉토리에 있는 gl디렉토리 하드링크를 삭제하고 복사하면 됩니다. 조금 귀찮긴 하지만 이렇게 하면 컴파일할때 -mno-cygwin 옵션만 붙이면 완벽히 cygwin 독립적인 코드가 생성됩니다. }}}
아참, 마지막으로 혹시나 자신의 라이브러리를 빌드할 생각이시라면 msys+mingw32를 설치하고 여기서 빌드한 후 /usr/local로 복사해 사용하는 방법도 좋습니다. msys 배포본에도 autotool은 지원하지 않지만 gmake는 지원하고 있고 위와 같이 cygwin을 설치하면 완전히 mingw와 호환되므로 좋더군요. _ SDL같은 경우는 cygwin에서 그냥 빌드해도 cygwin1.dll에 대한 의존성이 없도록 빌드하지만, 대부분의 오픈소스 라이브러리들(ACE조차도!)은 가급적 msys에서 빌드해서 사용하는 것이 좋습니다.
부디 제가 겪었던 삽질이 줄어들길 바랍니다.
FILE IO (0) | 2008.09.08 |
---|---|
리눅스 커널 소스 디렉토리 (0) | 2007.08.17 |
리눅스 커널 소스 (The Linux Kernel Sources) (0) | 2007.08.17 |
Java classpath 관리하기 (0) | 2007.08.16 |
JAVAScript TIP (0) | 2007.08.10 |
"아들아! 죽는 날까지 꿈꾸기를 포기하지 마라. 매일 꿈을 꾸어라. 꿈을 꾸지 않는 사람은 아무것도 얻을 수 없으며
오직 꿈꾸는 자 만이 비상할 수 있다. 꿈에는 한계가 없다. 마음껏 꿈꿔라. 꿈을 꾼다는 것은 살아 있다는 증거이고
사람이 살아 있는 동안에 반드시 해야 할 의무이자 권리이다" - 나를 딛고 세상을 향해 뛰어 올라라 중에서-
새우잠을 자되 고래 꿈을 꾸어라.. (0) | 2009.06.25 |
---|
다희야!, 건모야!
인생을 살다 보면 힘에 부칠때가 반드시 있다. 그렇수록 힘을 내야 한다.
간절하게 꿈꾸면 꿈은 이루어진다. 특히 꿈은 입으로 자꾸 말할수록 이루어 질 확률이 높다.
너희 들에게 많은 것을 가르쳐 주고 싶지만 그것 또한 내가 너희들에게 강요하는 것일지도 모른다는 생각이 든다.
나는 매일 눈을 감고 성장하는 너희들의 모습을 그려본다..
꿈에 대하여.... (0) | 2009.06.25 |
---|
"시간과 인생의 성공적인 경영을 위한 열 가지 기본 법칙" 요약
-
생산성 향상과 마음의 평화를 얻을 수 있는 입증된
전략
- by Hyrum W. Smith
제1법칙: 효율적으로 시간을 관리하면 효율적으로 인생을 통제할 수 있다.
어떤 일을 하는데 “시간이 없어요”라는 말을 하기보다는 “다른 일에 더 흥미를 갖고 있습니다”라고 말하는 것이 옳다.
제2법칙: 자신의 중요한 가치관은 자신이 성취할 수 있는 결실의 토대가 된다.
“가치관과 일치하지 않는 목표를 설정하면, 그 목표는 이룰 수 있겠지만 결코 만족할 수는 없다.”
제3의 법칙: 일상생활에 자신의 가치를 반영할 때 평화로워진다.
다음의 네 가지 단계를 따르면 최고의 가치를 인식하고 일상 속에서 그것들을 이루어낼 수 있을
것이다. 이는 밑바닥부터 ‘자신의 생산성 피라미드’를 쌓아올리기
시작하는 방법이다.
1. 자신이 소중하게 생각하는 가치,
원칙, 신념들을 진술해나가면, 그것이 곧 자신의 피라미드를 쌓기 위한 기초가 된다.
2. 자신의 원칙들을 궁극적으로 성취하려는 목적과 연관시켜 적어보면, 그 목적들은 피라미드를 그릴 수 있는 다음 단계가 된다.
3. 장기 목적을 실현하기 위해서 중간 목표를 설정하라. 이것은 자신의 피라미드를 쌓기 위한 그 다음 단계가 될 것이다.
4. 피라미드 목록의 맨 위에는 중간 목표를 성취하기 위한 매일의 일과를 적어놓아라.
제4법칙: 중요한 목적에 도달하기 위해서는 현재 상태에 안주하겠다는 생각을 버려야 한다.
“자기 가치를 제대로 인식하며, 현실에 안주하지 않고, 인생에서 일어나는 일들을 제대로 통제하면, 어떤 장애물도 자신의 길을 가로막을 수는 없다.”
제5법칙: 일과를 계획하는 데 최소한의 시간을 투자하면 최대한의 효과를 거둔다.
아침마다 10분에서 15분 동안을 일과를 계획하는 데 써라.
다음은 일과 중 우선 처리할 사항들의 목록을 만들기 위한 단계다.
1. 먼저 급하지 않은 일을 포함하여 마무리짓고 싶은 모든 일의 목록을 만든다.
2. 각 항목별로 가치를 부여하라.
필수적이며 반드시 끝내야 할 모든 일은 ‘A’를 적는다. 중요하며 끝내야
하는 일에는 ‘B’를 적는다. 나머지
항목에, 아마도 사소하거나 선택적으로 할 수 있는 일에는
‘C’를 적는다.
3. 다시 ‘A’ 항목으로 돌아가서 각 사항마다 그 가치에 따라 번호를 메긴다. 가장 중요한 일은 A-1,
다음으로 중요한 일에는 A-2로 하는 것이다. ‘B’와 ‘C’도 마찬가지로 한다.
제6법칙: 행동을 통해 신념이 반영된다.
사람들은 관심이 없으면 행동을 바꾸려 들지 않는다
사람들은 모두 네 가지 기본적인 욕구가 있다. 살고자 하는 욕구,
사랑하고 사랑받고 싶은 욕구, 중요한 사람이 되고
싶은 욕구, 그리고 다양한 경험을 하고 싶어하는 욕구가
있다.
두 번째 요소인,
‘신념의 창’은 ‘욕구의 바퀴’가 달려갈 수 있는 방향을 제시해주는 것이다. 많은 신념들은 기본적인 욕구를 충족시켜주는 데 도움이 된다.
모델의 세 번째 요소는 ‘규칙’이다. 각각의 신념에 대해
행동을 지배하는 규칙을 만들어라. ‘만일-그렇다면’이라는 말은 믿음과 행동을 바꾼다.
. 네 번째 요소인 ‘행동 패턴’은 어떤 일이 물리적으로 일어나는 곳을 일컫는다.
제7법칙: 신념이 현실과 맥락을 같이할 때 욕구에 만족하게 된다.
자신이 올바른 신념을 갖고 있는지 알아보기 위해서는 ‘내 행동 결과가 네 가지 기본적인 욕구 중 한 가지를 만족시키는 데 도움이 되고 있는지?’ 자문하라. 만일 그렇다면 당신은 올바른 신념을 갖고 있는 것이다.
제8법칙: 부정확한 신념을 바꾸면 부정적인 행동을 극복할 수 있다.
자신의 신념이 옳거나 틀렸거나(즉, 현실을
반영하지 않다거나), 선택과 선호의 문제거나, 사람들은 자신의 모든 행동이 옳으며, 이에 따라 행동하고 있다고 생각한다. 정확한 신념이 있을 때 긍정적인 행동이 나온다. 부정확한 신념은 부정적이고 자기패배적인 행동으로 이어져 인생을 통제할 최고의 기회마저도
파괴시킬 수 있다.
부정적인 행동을 어떻게 극복할까? 첫번째 단계는 자신에게 문제가 있다는 사실을 인식하는 것이다. 다음은 부정적인 행동을 유발하는 욕구불만 요소가 있다는 것도 인정하는 것이다. 대개 이 단계에서 자신이 한 가지 혹은 그 이상의 부정확한 신념을 갖고 있음을 구별할 수 있다. 마지막 단계는 정확한 신념으로 이 부정적인 신념을 대체하는 일이다. 만일 새로운 신념을 따른다면 행동은 자동적으로 변한다.
제9법칙: 자존심은 궁극적으로 어떤 범위 이내여야 한다.
“다른 사람의 가치관에 맞춰 살기보다는 사람들과 조화를 이루며 생활하면서 자신의 가치관에 맞추면 엄청난 내적 힘을 갖게 된다.”
자존심은 자신 외의 어떤 것에 기반을 두어서는 안된다. 자신을 기분 좋게 생각하는 것이 마음의 평화를 얻는 필수 조건이다
제10법칙: 많이 베풀어라 그러면 더 많이 얻게 될 것이다.
성경의 황금율 법칙을 기억하라!
"너희는 무엇이든지, 남에게 대접을 받고자 하는 대로, 너희도 남을 대접하여라. 이것이 율법과 예언서의 본뜻이다."(마태복음 7:12)
삶에서 가장 중요한 것은 무엇일까 (0) | 2010.06.21 |
---|---|
상해에서 첫 점심 (0) | 2010.06.21 |
내 인생에 가을이 오면 (0) | 2008.11.26 |
이해 (0) | 2008.11.24 |
GM, IBM의 결정적 실수 (0) | 2008.11.13 |