µð·ºÅ͸® ±¸Á¶¿¡ °üÇÑ ½Ç¿ëÀû °íÂû
2006-07-27 ½Å¿µÁø
óÀ½ È¥ÀÚ¼ ¹è¿ì¸é¼ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§¿¡´Â ±×´ÙÁö Å« ¹®Á¦°¡ µÇÁö ¾ÊÁö¸¸ ȸ»ç¿¡¼ ÇÁ·ÎÁ§Æ®¸¦ ÇÏ°Ô µÇ¸é µð·ºÅ͸® ±¸Á¶¿¡ ´ëÇØ¼ »ý°¢ÇÏ°Ô µÈ´Ù. ±× ÀÌÀ¯´Â ÇÑ ÇÁ·ÎÁ§Æ®¿¡ ¿©·¯ °³ÀÇ ÇÁ·ÎÁ§Æ®°¡ Æ÷ÇԵDZ⵵ Çϰí, °°Àº ÇÁ·ÎÁ§Æ® ÆÄÀÏ¿¡¼ ´Ù¸¥ ¹ÙÀ̳ʸ®¸¦ »ý¼ºÇØ ³»¾ß ÇÏ´Â Àϵµ »ý±â±â ¶§¹®ÀÌ´Ù. Áï, ½±°Ô À̾߱â ÇÏÀÚ¸é ÇÁ·ÎÁ§Æ®ÀÇ Å©±â°¡ Ä¿Áö±â ¶§¹®¿¡ ±×·¯ÇÑ °ÍÀÌ °üÇØ¼ °í¹ÎÇÏ°Ô µÈ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹®¼´Â ±×·¯ÇÑ ¹®Á¦¿¡ ´ëÇØ¼ Áß°£ Å©±â Á¤µµÀÇ ÇÁ·ÎÁ§Æ®¿¡ ÀûÇÕÇÑ ½Ç¿ëÀûÀÎ µð·ºÅ͸® ±¸Á¶¿Í ¿Ö ½Ç¿ëÀûÀÎÁö¸¦ ¼³¸íÇÑ´Ù.
ÀϹÝÀûÀÎ VC++ÀÇ µð·ºÅ͸® ±¸Á¶
solution_name
+ ¼Ö·ç¼Ç ÆÄÀÏ
+- module_name
+- Debug
+ µð¹ö±× Áß°£ ÆÄÀÏ¹× ½ÇÇà ÆÄÀÏ
+- Release
+ ¸±¸®Áî Áß°£ ÆÄÀÏ¹× ½ÇÇà ÆÄÀÏ
+ ¼Ò½º¹× ÇÁ·ÎÁ§Æ® ÆÄÀÏ
+- module_name2
+- Debug
+- Release
+ ¼Ò½º¹× ÇÁ·ÎÁ§Æ® ÆÄÀÏ
ÀϹÝÀûÀ¸·Î VC++ .NET 2003ÀÌ»óÀÇ ¹öÀü¿¡¼ ±âº»ÀûÀ¸·Î »ý¼ºµÇ´Â µð·ºÅ͸® ±¸Á¶´Â À§¿Í °°´Ù. ÀÌ µð·ºÅ͸® ±¸Á¶´Â ¿©·¯ °¡Áö ¹®Á¦¸¦ °¡Áö°í ÀÖ´Ù. ÀÏ´Ü °¡Àå Å« ¹®Á¦´Â ½ÇÇà °á°ú°¡ ÇÕÃÄÁöÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. ¸ðµâÀÌ dll°ú exe¶ó°í »ý°¢ÇØ º¸ÀÚ. ÀÌ °æ¿ì exe°¡ dllÀ» ÇÊ¿ä·Î ÇÑ´Ù°í »ý°¢Çϸé À§ÀÇ ±¸Á¶¿Í °°Àº ȯ°æ¿¡¼´Â ºôµåµÈ dllÀ» exe°¡ ÀÖ´Â °÷À¸·Î Á÷Á¢ º¹»çÇØ¾ß ÇÑ´Ù. µÑÀç´Â ¼Ò½º¿Í ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ ºÐ¸®µÇÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. µ¿ÀÏÇÑ ¼Ò½º¸¦ ´Ù¸¥ ȯ°æÀ¸·Î ºôµåÇϱâ À§Çؼ ¼Ò½º¸¸ »Ì¾Æ ³»±â°¡ ±²ÀåÈ÷ ¹ø°Å·Ó´Ù. vcproj ÆÄÀÏ ¹× ´Ù¸¥ ÆÄÀϸ¸ Á¦¿ÜÇÏ°í º¹»ç¸¦ ÇØ¾ß Çϴµ¥ ÀÌ´Â »ó´çÈ÷ ¹ø°Å·Î¿î ÀÛ¾÷ÀÌ´Ù. ¶ÇÇÑ ´Ù¸¥ ¸Åü·Î ¹é¾÷À» ÇØ¾ß ÇÏ´Â °æ¿ì¿¡ Áß°£ ÆÄÀÏÀÇ Á¦°Å°¡ µÇÁö ¾Ê±â ¶§¹®¿¡ º°·Î ÇÕ¸®ÀûÀÎ ±¸Á¶°¡ ¾Æ´Ï´Ù. ¶ÇÇÑ cvsµîÀÇ ¹öÀü °ü¸® ÅøÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡µµ Debug, ReleaseµîÀ» º°µµ·Î Á¦°ÅÇØ ÁÖ¾î¾ß ÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
À§ÀÇ ±¸Á¶¸¦ ¹ßÀü½ÃŲ µð·ºÅ͸® ±¸Á¶
project_name
+ bin
+- checked
+- free
+ common
+- inc
+- lib
+ app
+- module_name
+- Debug
+- Release
+ activeX
+- module_name
+- Debug
+- Release
ÇÊÀÚ°¡ ±Ù¹«Çß´ø ÇÑ È¸»ç¿¡¼´Â À§¿Í °°Àº µð·ºÅ͸® ±¸Á¶¸¦ »ç¿ëÇß¾ú´Ù. ÀÌ ±¸Á¶´Â ±âº»ÀûÀÎ ±¸Á¶ º¸´Ù´Â ÇÑ ´Ü°è ¹ßÀü Çß´Ù°í º¼ ¼ö ÀÖ´Ù. Ãâ·Â µð·ºÅ͸®(bin)¸¦ ÅëÀÏ ÇßÀ¸¸ç, °ø¿ë Çì´õ¿Í ¶óÀ̺귯¸®¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Â(common) µð·ºÅ͸®°¡ Á¸ÀçÇÑ´Ù. ÇÏÁö¸¸ ¿©±âµµ ¸î °¡Áö ´ÜÁ¡ÀÌ Á¸ÀçÇÑ´Ù. app, activeX, dll, driverµîÀ¸·Î ¸ðµâ Çüź°·Î Æú´õ¸¦ ³ª´ Çʿ䰡 ¾ø´Ù´Â Á¡ÀÌ´Ù. ´ëºÎºÐÀÇ Áß¼Ò ±Ô¸ðÀÇ °³¹ß¿¡¼´Â ¸ðµâ À̸§¸¸À¸·Îµµ ÇØ´ç ¸ðµâÀÌ ¾î¶² ¸ðµâÀÎÁö¸¦ ¹Ù·Î ¾Ë ¼ö ÀÖ´Ù. ÀÌ·± °ÍÀ» ±»ÀÌ Æú´õ¸¦ ³ª´©¾î ±¸ºÐÇÒ Çʿ䰡 ¾ø´Â °ÍÀÌ´Ù. ±×¸®°í Áß°£ ºôµå ÆÄÀÏÀÌ ¸ðÀÌ´Â Deub, Release¿Í checked, free »çÀÌ¿¡ ¿ë¾î ºÒÀÏÄ¡°¡ Á¸ÀçÇÑ´Ù. ¶ÇÇÑ ÀÌ µð·ºÅ͸® ±¸Á¶ ¿ª½Ã ù ¹øÂ°¿¡¼ ÁöÀûÇß´ø ¼Ò½º ÆÄÀÏÀÇ ºÐ¸® ¹× Áß°£ ÆÄÀÏ Á¦°Å°¡ ¾î·Æ´Ù´Â ¹®Á¦´Â ±Øº¹ÇÏÁö ¸øÇϰí ÀÖ´Ù.
Á» ´õ º¹ÀâÇÑ µð·ºÅ͸® ±¸Á¶
project_name
+- bin
+- src
+- doc
$2¿¡¼ ¼Ò°³ÇÑ °Íº¸´Ù ´õ º¹ÀâÇÑ ´Ü°è°¡ À§ ´Ü°è¶ó°í ÇÒ ¼ö ÀÖ´Ù. src Æú´õ ¹Ø¿¡´Â $2³ª $1¿¡¼ ¼Ò°³ÇÑ ±¸Á¶°¡ ±×´ë·Î ³ªÅ¸³´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. ÀÌ °æ¿ì´Â doc Æú´õ¸¦ Ãß°¡Çؼ ÇÁ·ÎÁ§Æ®¿Í °ü·ÃµÈ ¹®¼¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Â °ø°£À» È®º¸Çß´Ù´Â °ÍÀ» ÀåÁ¡À¸·Î µé ¼ö ÀÖ´Ù. ÇÏÁö¸¸ $1, $2ÀÇ µð·ºÅ͸® ±¸Á¶¸¦ ±×´ë·Î »ç¿ëÇϱ⠶§¹®¿¡ ±× ±¸Á¶°¡ °¡Áö´Â ´ÜÁ¡À» ±Øº¹ÇÒ ¼ö ¾ø´Ù. ¶ÇÇÑ µð·ºÅ͸® ±¸Á¶°¡ »ó´çÈ÷ º¹ÀâÇØ Áö¸é¼ »ó´ë °æ·Î¸¦ ±¸¼ºÇÒ ¶§¿¡µµ ..À» ¸î °³¸¦ ±¸¼ºÇØ¾ß ·çÆ®±îÁö °¡´ÂÁö ¾Ë±â Èûµé´Ù´Â ¹®Á¦±îÁö °¡Áö°í ÀÖ´Ù.
½Ç¿ëÀûÀÎ ±¸Á¶
company
+- bin
+- Debug
+- Release
+- Objs
+- module_name
+- Debug
+- Release
+- common
+- °ø¿ë Çì´õ¹× ¶óÀ̺귯¸®
+- module_name
+- docs
+ ¹®¼µé
+- projects
+ ¼Ö·ç¼Ç¹× ÇÁ·ÎÁ§Æ® ÆÄÀÏ
+ distribute
+ ¹èÆ÷½Ã¿¡ °°ÀÌ ÀÖ¾î¾ß ÇÏ´Â ÆÄÀÏ
+ ¼Ò½ºµé
+- module_name2
+ ...
À§ ±¸Á¶´Â ÇÊÀÚ°¡ »ý°¢Çغ» Áß,¼Ò ±Ô¸ð ÇÁ·ÎÁ§Æ®¿¡ ½Ç¿ëÀûÀÎ ±¸Á¶´Ù. ÀÏ´Ü ÀÌ ±¸Á¶ÀÇ °æ¿ì °¡Àå Å« Ư¡Àº ¼Ò½º, ÇÁ·ÎÁ§Æ® ÆÄÀÏ, Áß°£ ÆÄÀÏ, °á°ú ÆÄÀÏÀÇ ºÐ¸®°¡ È®½ÇÇÏ´Ù. ¼Ò½º´Â company/module_name¿¡ ÀúÀåµÈ´Ù. ÇÁ·ÎÁ§Æ® ÆÄÀÏÀº company/module_name/projects¿¡ ÀúÀåµÈ´Ù. Áß°£ ÆÄÀÏÀº company/bin/Objs/module_name/configuration_name¿¡ ÀúÀåµÇ°í, °á°ú ÆÄÀÏÀº company/bin/debug³»Áö´Â reelase¿¡ ÀúÀåµÈ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á À§¿¡¼ Á¦±âÇÑ °ÅÀÇ ´ëºÎºÐÀÇ ¹®Á¦°¡ ÇØ°áµÈ´Ù. Æú´õ ±¸Á¶µµ company ¹Ø¿¡ module_nameÀÌ ¹Ù·Î ³ª¿À±â ¶§¹®¿¡ º¹ÀâÇØ ÁöÁö ¾Ê´Â´Ù. docs Æú´õÀÇ °æ¿ì moduleº°·Î ÇÊ¿äÇÏÁö ¾Ê´Ù°í »ý°¢µÈ´Ù¸é ¿ÜºÎ·Î »©¹ö¸®¸é µÈ´Ù.
ÇÏÁö¸¸ ÀÌ ±¸Á¶¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇϱâ À§Çؼ´Â ¸î °¡Áö ¾Ë¾Æ¾ß ÇÒ Á¡ÀÌ ÀÖ´Ù. ¿ì¼±, sln ÆÄÀϰú vcproj ÆÄÀÏÀ» ¼öµ¿À¸·Î ´Ù·êÁÙ ¾Ë¾Æ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé ÀÌ ÆÄÀϵéÀ» projects¹Ø¿¡ ¸ðµÎ »ý¼ºÇØ¾ß Çϴµ¥ IDE¸¦ ÅëÇØ¼´Â ±× ÀÛ¾÷ÀÌ ½±Áö ¾Ê±â ¶§¹®ÀÌ´Ù. ÇÊÀÚÀÇ °æ¿ì ÇÁ·ÎÁ§Æ® À¯Çüº°·Î ÅÛÇø´ ÇÁ·ÎÁ§Æ® ÆÄÀϵéÀ» ¸¸µé¾î µÎ°í ±×°ÍÀ» º¹»çÇØ¼ »ç¿ëÇÑ´Ù. ÀÌ °æ¿ì »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¶§ ¼öÁ¤ÇØ¾ß ÇÒ ºÎºÐÀº vcproj ÆÄÀÏÀÇ GUID¿Í ÇÁ·ÎÁ§Æ® À̸§ÀÌ ÀüºÎ´Ù. ¶ÇÇÑ °¢ ÇÁ·ÎÁ§Æ® º°·Î ¾Æ·¡¿Í °°ÀÌ Æú´õ¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
- Ãâ·Â ÆÄÀÏÀº ¸ðµÎ ../../bin/Debug³»Áö´Â ../../bin/Relase·Î ÁöÁ¤ÇØ ÁØ´Ù.
- Áß°£ ÆÄÀÏÀº ../../bin/Objs/$(ProjectName)/$(ConfigurationName)À¸·Î ÁöÁ¤ÇØ ÁØ´Ù.
- Ãß°¡ Æ÷ÇÔ µð·ºÅ͸®¸¦ ../../commonÀ¸·Î ÁöÁ¤ÇØ ÁØ´Ù.
- Ãß°¡ Æ÷ÇÔ ¶óÀ̺귯¸® µð·ºÅ͸®¸¦ ../../common;../../bin/Debug ³»Áö´Â Release·Î ÁöÁ¤ÇØ ÁØ´Ù.
¡¡