Go to the first, previous, next, last section, table of contents.


make ÀÇ ¿¡·¯(Errors Generated by Make)

´ÙÀ½Àº make ¿¡ ÀÇÇØ¼­ »ý¼ºµÉ ¼ö ÀÖ´Â °¡Àå ÀϹÝÀûÀÎ ¿¡·¯µéÀÇ ¸®½ºÆ®ÀÌ¸ç ±×°ÍµéÀÌ ÀǹÌÇÏ´Â ¹Ù¿Í ±×°ÍµéÀ» °íÄ¡´Â ¹æ¹ý¿¡ ´ëÇÑ Á¤º¸ÀÌ´Ù.

¶§¶§·Î make ¿¡·¯µéÀº, Ưº°È÷ ¸í·É ½ºÅ©¸³Æ® ¶óÀο¡¼­ - Á¢µÎ»ç°¡ ÀÖÀ» ¶§³ª ¸í·É ¶óÀÎ ¿É¼ÇÀ¸·Î½á -k °¡ ÀÖÀ» ¶§, Ä¡¸íÀûÀÎ °ÍÀÌ ¾Æ´Ï´Ù. Ä¡¸íÀûÀÎ ¿¡·¯µéÀº *** ¹®ÀÚ¿­ÀÌ ±× ¾Õ¿¡ ºÙ´Â´Ù.

¿¡·¯ ¸Þ½ÃÁöµéÀº ¸ðµÎ ÇÁ·Î±×·¥(º¸Åë `make')ÀÇ À̸§ÀÌ ¾Õ¿¡ ºÙ°Å³ª, ¿¡·¯°¡ makefile ¾È¿¡ ÀÖ´Â °ÍÀ̶ó¸é ¹®Á¦¸¦ ´ã°í ÀÖ´Â ÆÄÀϰú ¶óÀγѹö°¡ ¾Õ¿¡ ºÙ´Â´Ù.

¾Æ·¡ Å×ÀÌºí¿¡¼­ ÀÌ·± °øÅë Á¢µÎ»çµéÀÌ ºüÁ®ÀÖ´Ù.

`[foo] Error NN'
`[foo] signal description'
ÀÌ·± ¿¡·¯µéÀº ½ÇÁ¦·Î make ¿¡·¯µéÀÌ ÀüÇô ¾Æ´Ï´Ù. ±×µéÀº make °¡ ¸í·É ½ºÅ©¸³Æ®ÀÇ ÀϺηνá È£ÃâÇÑ ÇÁ·Î±×·¥ÀÌ, make °¡ ½ÇÆÐ·Î ÇØ¼®ÇÏ´Â 0ÀÌ ¾Æ´Ñ ¿¡·¯ ÄÚµå (`Error NN') ¸¦ ¸®ÅÏÇϰųª ´Ù¸¥ ÀÌ»óÇÑ ½ºÅ¸ÀÏ·Î(¾î¶² Á¾·ùÀÇ ½Ã±×³Î°ú ÇÔ²²) Á¾·áÇÏ¿´´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. *** °¡ ¸Þ½ÃÁö¿¡ ºÙ¾î ÀÖÁö ¾ÊÀ¸¸é ¼­ºêÇÁ·Î¼¼½º°¡ ½ÇÆÐÇßÁö¸¸ makefile ÀÇ ±× ±ÔÄ¢ÀÌ Æ¯¼ö ¹®ÀÚ - ¸¦ ¾Õ¿¡ ´Þ°í À־ make °¡ ±× ¿¡·¯¸¦ ¹«½ÃÇÑ °ÍÀÌ´Ù.
`missing separator. Stop.'
À̰ÍÀº make ÀÇ ÀϹÝÀûÀÎ "Huh?" ¿¡·¯ ¸Þ½ÃÁöÀÌ´Ù. À̰ÍÀº make °¡ makefile ÀÇ ÀÌ ¶óÀÌÀ» ÆÄ½ÌÇϸ鼭 ¿Ïº®ÇÏ°Ô ¼º°øÇÏÁö ¸øÇß´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. À̰ÍÀº ±âº»ÀûÀ¸·Î "¹®¹ý ¿¡·¯(syntax error)" ¸¦ ÀǹÌÇÑ´Ù. ÀÌ·± ¸Þ½ÃÁö°¡ ³ª¿À´Â °¡Àå ÀϹÝÀûÀÎ ÀÌÀ¯µé ÁßÀÇ Çϳª´Â ¿©·¯ºÐÀÌ (¶Ç´Â ¸¹Àº MS-Windows ¿¡µðÅ͵éÀÇ °æ¿ì¿Í ºñ½ÁÇϰÔ, ¿©·¯ºÐÀÇ ¿¡µðÅͰ¡) TAB ¹®ÀÚ ´ë½Å¿¡ °ø¹éµé·Î ¸í·É ½ºÅ©¸³Æ®µéÀ» µé¿©¾²±âÇÏ·Á°í ÇÏ´Â °ÍÀÌ´Ù. ¸í·É ½ºÅ©¸³Æ®¿¡ ÀÖ´Â ¸ðµç ¶óÀÎÀº ¹Ýµå½Ã TAB ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â °ÍÀ» ±â¾ïÇÏÀÚ. 8°³ÀÇ °ø¹éÀº Àǹ̰¡ ¾ø´Ù.
`commands commence before first target. Stop.'
`missing rule before commands. Stop.'
À̰ÍÀº makefile ¿¡¼­ óÀ½À¸·Î ³ª¿À´Â °ÍÀÌ ¸í·É ½ºÅ©¸³Æ®ÀÇ ÀϺκÐÀÎ °Íó·³ º¸Àδٴ °ÍÀ» ÀǹÌÇÑ´Ù: À̰ÍÀº TAB ¹®ÀÚ·Î ½ÃÀÛÇϰí ÇÕ¹ýÀûÀÎ make ¸í·É(º¯¼ö ÇÒ´ç°ú °°Àº)ó·³ º¸ÀÌÁö ¾Ê´Â´Ù. ¸í·É ½ºÅ©¸³Æ®µéÀº Ç×»ó ¾î¶² Ÿ°Ù°ú ¿¬°áµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. µÎ¹øÂ° ÇüÅ´ ±× ¶óÀÎÀÌ Ã¹¹øÂ° °ø¹é¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ·Î½á ¼¼¹ÌÄÝ·ÐÀ» °¡Áø´Ù¸é »ý¼ºµÈ´Ù; make ´Â À̰ÍÀ», ¾î¶² ±ÔÄ¢ÀÇ "target: dependency" ¼½¼ÇÀ» ±×³É ¶°³µ´Ù´Â °ÍÀ¸·Î ÇØ¼®ÇÑ´Ù.
`No rule to make target `xxx'.'
`No rule to make target `xxx', needed by `yyy'.'
À̰ÍÀº make °¡ Ÿ°ÙÀ» ºôµåÇÒ Çʿ䰡 ÀÖ´Ù°í ÆÇ´ÜÇßÁö¸¸ makefile ¾È¿¡¼­ ±×·¸°Ô ÇÏ´Â °Í¿¡ ´ëÇÑ, ¸í½ÃÀû ¶Ç´Â ¹¬½ÃÀû(µðÆúÆ® ±ÔÄ¢ µ¥ÀÌÅͺ£À̽º¸¦ Æ÷ÇÔÇØ¼­) ±ÔÄ¢µé(instructions)µµ ãÀ» ¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±× ÆÄÀÏÀÌ ºôµåµÇ±â¸¦ ¿øÇÑ´Ù¸é ±× Å¸°ÙÀÌ ºôµåµÇ´Â ¹æ¹ýÀ» ¼³¸íÇÏ´Â ±ÔÄ¢À» Ãß°¡ÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ ¹®Á¦ÀÇ ´Ù¸¥ °¡´É¼ºÀº makefile À» ¿ÀÀÚ(±× ÆÄÀÏ À̸§ÀÌ À߸øµÇ¾ú´Ù)Ç߰ųª ¼Ò½º Æ®¸®°¡ À߸øµÈ °æ¿ìÀÌ´Ù(±× ÆÄÀÏÀÌ ºôµåµÉ °ÍÀ¸·Î »ý°¢µÈ °ÍÀÌ ¾Æ´Ï°í ´ÜÁö Á¾¼Ó¹°ÀÌ´Ù).
`No targets specified and no makefile found. Stop.'
`No targets. Stop.'
ÀüÀÚ´Â ¸í·ÉÇà¿¡¼­ ºôµåµÉ Ÿ°ÙÀ» Çϳªµµ Á¦°øÇÏÁö ¾Ê¾Ò°í make °¡ ÀоîµéÀÏ makefile µéÀ» ãÀ»¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÈÄÀÚ´Â ¾î¶² makefile µéÀÌ Ã£¾ÆÁ³À¸³ª µðÆúÆ® Ÿ°ÙÀÌ ¾ø°í ¾î¶² °Íµµ ¸í·ÉÇà¿¡¼­ ÁÖ¾îÁöÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌµé °æ¿ì¿¡ GNU make ´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â´Ù.
`Makefile `xxx' was not found.'
`Included makefile `xxx' was not found.'
¸í·ÉÇà¿¡¼­ ÁÖ¾îÁø makefile (ù¹øÂ° ÇüÅÂ) ¶Ç´Â Æ÷ÇÔµÈ makefile (µÎ¹øÂ° ÇüÅÂ) °¡ ¾ø´Ù.
`warning: overriding commands for target `xxx''
`warning: ignoring old commands for target `xxx''
GNU make ´Â Ÿ°Ù Çϳª¿¡ ´ëÇØ¼­ ´Ü Çѹø¸¸ ¸í·ÉµéÀÌ ÁöÁ¤µÇ´Â °ÍÀ» Çã¶ôÇÑ´Ù(´õºí-ÄÝ·Ð ±ÔÄ¢µéÀ» Á¦¿ÜÇϰí). ÀÌ¹Ì ¸í·ÉµéÀ» °¡Áöµµ·Ï Á¤ÀÇµÈ Å¸°Ù¿¡ ´ëÇØ¼­ ¸í·ÉµéÀ» ´Ù½Ã ÁÖ¸é ÀÌ °æ°í°¡ ¹ßÇàµÇ°í µÎ¹øÂ° ¸í·ÉµéÀº ù¹øÂ° °ÍÀ» ¿À¹ö¶óÀ̵åÇÒ °ÍÀÌ´Ù.
`Circular xxx <- yyy dependency dropped.'
make °¡ Á¾¼Ó¼º ±×·¡ÇÁ¿¡¼­ ·çÇÁ¸¦ ¹ß°ßÇß´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù: Ÿ°Ù xxx ÀÇ Á¾¼Ó¹° yyy, ±×¸®°í À̰ÍÀÇ Á¾¼Ó¹°µé µîµî À» ÃßÀûÇÑ ÈÄ ±×µéÁß Çϳª°¡ xxx ¿¡ ´Ù½Ã Á¾¼ÓÇÑ´Ù´Â ÀǹÌÀÌ´Ù.
`Recursive variable `xxx' references itself (eventually). Stop.'
À̰ÍÀº È®ÀåµÉ ¶§ ÀÚ±âÀÚ½Å(xxx)À» ÂüÁ¶ÇÒ ÀÏ¹Ý (Àç±ÍÀûÀÎ) make º¯¼ö xxx ¸¦ Á¤ÀÇÇß´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. À̰ÍÀº Çã¿ëµÇÁö ¾Ê´Â´Ù; ´Ü¼ø-È®Àå º¯¼ö (:=) ¸¦ »ç¿ëÇϵçÁö ¾Æ´Ï¸é Ãß°¡ ¿¬»êÀÚ (+=) ¸¦ »ç¿ëÇÏÀÚ.
`Unterminated variable reference. Stop.'
À̰ÍÀº, º¯¼ö³ª ÇÔ¼ö ÂüÁ¶¿¡¼­ ÀûÀýÇÏ°Ô ´Ý´Â °ýÈ£³ª Áß°ýÈ£¸¦ Á¦°øÇÏ´Â °ÍÀ» Àؾú´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
`insufficient arguments to function `xxx'. Stop.'
À̰ÍÀº ÀÌ ÇÔ¼ö¿¡ ´ëÇØ¼­ ÇÊ¿äÇÑ °³¼öÀÇ ¸Å°³º¯¼öµéÀ» Á¦°øÇÏÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¸Å°³º¯¼öµéÀÇ ¼³¸í¿¡ ´ëÇØ¼­´Â ±× ÇÔ¼öÀÇ ¹®¼­¸¦ º¸ÀÚ.
`missing target pattern. Stop.'
`multiple target patterns. Stop.'
`target pattern contains no `%'. Stop.'
À̵éÀº À߸øµÈ Á¤Àû ÆÐÅÏ ±ÔÄ¢µé¿¡ ´ëÇØ¼­ »ý¼ºµÈ´Ù. ù¹øÂ°´Â ±ÔÄ¢ÀÇ Å¸°Ù ¼½¼Ç¿¡ ¾î¶² ÆÐÅϵµ ¾ø´Ù´Â °ÍÀ» ÀǹÌÇϰí, µÎ¹øÂ°´Â Ÿ°Ù ¼½¼Ç¿¡ ´Ù¼öÀÇ ÆÐÅϵéÀÌ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇϸç, ¼¼¹øÂ°´Â Ÿ°ÙÀÌ ÆÐÅÏ ¹®ÀÚ (%) ¸¦ ´ã°í ÀÖÁö ¾Ê´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.


Go to the first, previous, next, last section, table of contents.