´ë¹®    
FindPage  |  TitleIndex  |  UserPreferences  |  [http]me2day  |  redpixel
RecentChanges
 


Cygwin

  • °³ÀÎÀûÀ¸·Î cygwin+mingw32+boost+SDL+directx+opengl+ACE±â¹Ý¿¡¼­ ÀÛ¾÷À» ÇÕ´Ï´Ù. :) ±×·¡¼­ ¿©±â¿¡ ¿ä¾àÀ» ÇØº¾´Ï´Ù.

¸µÅ© ¹× ¾ÆÆ¼Å¬ #

ÆÁ #

  • cygwin ±âº» ÆÐŰÁö ¿ÜÀÇ ´Ù¸¥ ¶óÀ̺귯¸®µéÀ» ¼³Ä¡ÇÒ °æ¿ì(¿¹ : SDL), autoconf¸¦ Áö¿øÇÏ´Â ¼Ò½º¹èÆ÷º»À̸é ./configure¸¦ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇØ¾ßÇÕ´Ï´Ù.
    ./configure --prefix=/usr/local
    
    À̰ÍÀº ¶óÀ̺귯¸®ÀÇ ¸ðµç °á°úÈ­ÀÏÀÌ /usr/local/include, /usr/local/lib·Î µé¾î°¡µµ·Ï ÇØÁÝ´Ï´Ù. (´Ù¸¥ ./configureµéµµ ¸ðµÎ --prefix=/usr/local¸¦ ºÙ¿© ½ÇÇàÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. À̰ÍÀº ÆÐŰÁö ¹èÆ÷º»Àº /usr/include, /usr/lib¿¡, °³ÀÎÀûÀ¸·Î autoconf·Î ¼³Ä¡ÇѰÍÀº /usr/local ¾Æ·¡¿¡ ¼³Ä¡µÇ°Ô µË´Ï´Ù.)
  • cygwin¿¡¼­ directx¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. (SDL ¼³Ä¡½Ã directdraw wrapper¸¦ »ç¿ëÇϽ÷Á¸é Çʼö°¡ µÇ°ÚÁÒ) w32api ÆÐŰÁö¸¦ ¼³Ä¡ÇÏ¸é ±âº»ÀûÀ¸·Î dx°ü·Ã ¶óÀ̺귯¸® È­ÀϵéÀÌ ¼³Ä¡µÇÁö¸¸, ¾Æ½±°Ôµµ Çì´õÈ­ÀÏÀº ¹èÆ÷º»¿¡ Æ÷ÇԵǾîÀÖÁö ¾ÊÀº °ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù. (¾Æ¸¶µµ ÀúÀÛ±Ç ¹®Á¦Áö ¾ÊÀ»±î...)
    1. [http]Directx SDK 8.0a¸¦ ´Ù¿î ¹Þ½À´Ï´Ù. (100¸Þ°¡°¡ Á¶±Ý ³Ñ½À´Ï´Ù. :( ) -> ¿©±â¿¡¼­ ¾Æ·¡ Çì´õÈ­Àϸ¸ º¹»çÇÑ °Í ÀÔ´Ï´Ù. @w32api_dx8a_headers.zip (103.63 KB)
    2. ¾ËÁý°°Àº °ÍÀ¸·Î ¿­¾î¼­ include µð·ºÅ丮¿¡¼­ ddraw.h, dinput.h, dsound.h d3dtypes.h¸¦ /usr/include/w32api¿¡ º¹»çÇÕ´Ï´Ù. (/lib/w32api¿¡ º¸¸é d3d°ü·ÃÀ¸·Î ÃßÃøµÇ´Â ¶óÀ̺귯¸®µéÀÌ ÀÖ½À´Ï´Ù. ¾Æ¸¶µµ 8.0±îÁö Áö¿øÇÏ´Â °Í °°Àºµ¥... È®½ÇÇÏÁö ¾Ê¾Æ¼­¸®...´©°¡Á» ¾Ë·ÁÁÖ¼¼¿ä.. :) )
    3. ³¡ÀÔ´Ï´Ù. SDL°ú °°Àº ¶óÀ̺귯¸®¸¦ ÄÄÆÄÀÏ ÇØº¾´Ï´Ù. (./configure¸¸ ÇØºÁµµ directx header and library = yes ·Î µÇ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.)

MinGW¸¦ Cygwin°ú »ç¿ëÇÏ·Á¸é? #

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"À» ¼öÁ¤Çϰųª ¼öµ¿À¸·Î ¼³Á¤ÇÏ´ÂÁö ¼±ÅÃÇϽñ⠹ٶø´Ï´Ù).

µÎ¹øÂ° ¹æ¹ý : gcc-mingw32 ÆÐŰÁö ÀÌ¿ëÇϱâ #

¾ÕÀÇ ¹æ¹ýÀº ¸î¸î ¶óÀ̺귯¸®¿¡¼­´Â Ãæµ¹ÀÌ ÀϾ´Ï´Ù. (¼ø¼ö 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 Àüü º¹»ç #

¾Õ¼­ÀÇ ¹æ¹ý¿¡ ´ëÇÑ º¸ÃæÀÔ´Ï´Ù. µÎ¹øÂ° ¹æ¹ý°ú °°ÀÌ 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¿¡¼­ ºôµåÇØ¼­ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

ºÎµð Á¦°¡ °Þ¾ú´ø »ðÁúÀÌ ÁÙ¾îµé±æ ¹Ù¶ø´Ï´Ù. :)


EditText | FindPage | DeletePage | LikePages | UploadedFiles

Powered by MoniWiki
xhtml1 | css2 | any browser | rss
Last modified 2007-02-23 12:06:39
Loading 0.3223 sec