E D R , A S I H C RSS

STL Port



1. Introduce

‘œ€ STL ๊ทœ๊ฒฉ— งžถฐ STLPort šŒ‚ฌ๊ฐ€ งŒ“  ‘œ€…œ”Œฆฟ STL(Standard Template Language) ˜ค”ˆ†ŒŠคกœจ SGI STL— ๊ธฐฐ˜•˜๊ณ  žˆŒ.

2. „คน˜•

http://www.kwak101.pe.kr/wiki/wiki.php/STLport_VCผณฤก
ณธ ฌธ„œŠ” ƒ๊ธฐ˜ Ž˜€— ‚šฉ„ ๊ทธŒ€กœ ˜ฎ๊ธ๊ฒƒž…‹ˆ‹ค. ๊ฐœธ ™ˆŽ˜€˜ ‚šฉ๊ธฐ •Œฌธ— งฌ๊ฐ€ ๊นจงˆ๊ฒฝšฐฅผ Œ€น„•œ ฐฑ—…€กœ ๊ฐ€Šฅ•˜ ›ž˜˜ Ž˜€—„œ ‹œ๊ธธ ฐ”ž‹ˆ‹ค. ตœ†Œ•œ˜ ›ž‘ž— Œ€•œ ˜ˆ˜๊ฒ ฃ  ^^;;

3. “ค–๊ฐ€๊ธฐ  „—

ณธ ฌธ„œŠ” Win32 ™˜๊ฒฝ—„œ Visual C++ ฅผ ‚ฌšฉ•˜‹œŠ” ถ„“ค STLport˜ STL ผธŒŸฌฆฌฅผ „คน˜•˜—ฌ ‚ฌšฉ•˜Š”ฐ „›€„ ฃผ๊ธฐ œ„•˜—ฌ ž‘„ฑ˜—ˆŠต‹ˆ‹ค. ๊ฐ€žฅ ตœ†Œ•œ˜ „คน˜ ๊ณผ •งŒ„ ‹ฃŠ”ฐ ˆ „ ‘—ˆœผฉฐ, Visual C++ 6 •˜˜ ฒ„ „—„œŠ” …ŒŠคŠธ•˜€ •Š•˜Œ„ ฏธฆฌ •Œ ค “œฆฝ‹ˆ‹ค. ๊ธฐƒ€ „ธ„ธ•œ  •Š” ™€ žฃŒ ฌธ„œ™” Ž˜€ ˜น€ ๊ฒŒ‹œŒ—„œ –๊ณ , ‚˜ˆ„– ฃผ‹œ๊ธฐ ฐ”ž‹ˆ‹ค. ๊ฐ‚ฌ•‹ˆ‹ค.

STLport ผธŒŸฌฆฌŠ” SGI(‹คฆฌฝ˜ ๊ทธž˜”ฝŠค)˜ STL„ —ฌŸฌ ๊ฐ€€ š˜ œ ฐ ๊ฐœฐœ „๊ตฌ—„œ “ธ ˆ˜ žˆ„ก ฌŒ…•œ ๊ฒƒœผกœ, ANSI ‘œ€•ˆ„ ถฉ‹คžˆ ”ฐ๊ณ  žˆœผฉฐ ™˜ น„‘œ€ ผธŒŸฌฆฌ„ ถฉ‹คžˆ ๊ตฌน„• †“๊ณ  žˆŠ” ๊ณต๊ฐœ ผธŒŸฌฆฌž…‹ˆ‹ค. ๊ฒŒ‹ค๊ฐ€ ‡๊ฐ€€ žฅ  ” ™– žˆŠต‹ˆ‹ค.

  1. ž…ถœ ฅŠคŠธฆผ ผธŒŸฌฆฌ๊ฐ€ ๊ฐœ„ ˜—ˆŒ.
  2. MSVC ŒŒผŸฌ˜ žงˆ๊ตฌ ˆ•œ ๊ฒฝ๊ณ  ฉ”‹œ€ฅผ ง‰„ ˆ˜ žˆ‹ค (~cpp _msvc_warnings_off.h๊ฐ€ €น„˜– žˆŒ)

ž˜ •„‹œ๊ฒ €งŒ, ณธ ฌธ„œŠ” ฝœผ‹œŠ” ถ„๊˜„œ Visual C++ ๊ฐœฐœ ™˜๊ฒฝ๊ณผ C++ ‚ฌšฉ— ถˆŽธ••˜€ •Š๊ณ  DOS ™”„ ‘ ค›Œ•˜€ •ŠŠ”‹คŠ” ๊ฐ€ • •˜— ž‘„ฑ–ˆ๊ณ , œˆ„šฐ ™˜๊ฒฝ„ ตœŒ€•œ ‚ฌšฉ•˜Š” œผกœ ž‘„ฑ•˜˜€Šต‹ˆ‹ค. :)

4. ผธŒŸฌฆฌ ฐ›•„ †“๊ธฐ

  1. STLport Œจ‚ค€˜ ••• ŒŒผ„ ฐ›Šต‹ˆ‹ค. ˜„žฌ˜ ตœ‹  •ˆ •™” ฆฌฆˆŠ” 4.6.2 (STLport-4.6.2.tar.gz)ž…‹ˆ‹ค.
     €Š” ˜ˆ „ ฒ„ „ธ 4.5.3„ ๊ทธŒ€กœ ‚ฌšฉ•˜๊ธฐกœ –ˆŠต‹ˆ‹ค. (นŒ“œ ฐ ‚ฌšฉฐฉ•— ฐจ๊ฐ€ —†Šต‹ˆ‹ค)
  2. งŒงŒ• Š” ”” ‰† ฆฌ— •••„ ’‰‹ˆ‹ค.(ฐธ๊ณ กœ,  œ Visual StudioŠ” D:\Programming Files2 — žˆŠต‹ˆ‹ค)
    1-decompress.GIF
  1. ˆœ„œŒ€กœ ๊ฐ„‹จžˆ ”” ‰† ฆฌ „ค…„ “œฆฌ ‹คŒ๊ณผ ๊ฐ™Šต‹ˆ‹ค. ผ‹จ ›‘–งŒ ‹œฃ .
    • doc : ผธŒŸฌฆฌ „คน˜ „›€ง ฐ ผธŒŸฌฆฌ  ˆผŸฐŠค๊ฐ€ “ค– žˆŠ” ”” ‰† ฆฌ.
    • etc : ง ๊ทธŒ€กœ ๊ธฐƒ€ žก‹ค๊ตฌฆฌ•œ ŒŒผ“ค žˆŠ” ”” ‰† ฆฌ
    • lib : ŒŒผœ STLport žฌ‚ฌšฉ ฐ”„ˆฆฌ(lib, dll)๊ฐ€ “ค–๊ฐ€Š” ”” ‰† ฆฌ. (ฒ˜Œ—” —†‹ค๊ฐ€ ‚˜ค‘— ƒ๊ธธ๊ฒ‹ˆ‹ค.)
    • src: žฌ‚ฌšฉ ฐ”„ˆฆฌฅผ นŒ“œ•˜๊ธฐ œ„•œ ”Œžซผ ณ„ ”„กœ Šธ ŒŒผ žˆŠ” ”” ‰† ฆฌ. (ฃผ˜: vc6.mak ŒŒผ žˆŠ”€ ™•ธ• „ธš”. นŒ“œ— ค‘𔕋ˆ‹ค)
    • stlport : STL —ค”™€ ฐ”„ˆฆฌ †ŒŠค๊ฐ€ “ค– žˆŠ” ”” ‰† ฆฌ. STLport ผธŒŸฌฆฌ˜ †ตž…‹ˆ‹ค.
    • test : STLport๊ฐ€ „คน˜œ ›„  œŒ€กœ „คน˜˜—ˆ‚˜ ™•ธ•˜๊ธฐ œ„•œ …ŒŠคŠธ ”„กœ๊ทธžจ †ŒŠค.

5. ž…ถœ ฅŠคŠธฆผ ผธŒŸฌฆฌ ŒŒผ•˜๊ธฐ

STLport ฒ„ „˜ ž…ถœ ฅ ผธŒŸฌฆฌฅผ งŒ“œŠ” ๊ณผ •ž…‹ˆ‹ค.•Œ คง„ ฐ”— ˜•˜, VC++— “ค– žˆŠ” ๊ธฐณธ(stock) ž…ถœ ฅŠคŠธฆผ ผธŒŸฌฆฌ‹ค ๊ฒƒ ” „ฑŠฅ ข‹๊ณ  •ˆ • ผ๊ณ  •˜€š”.
  1. Visual C++ฅผ —๊ณ , File > Open ฉ”‰กœ src\vc6.mak ฉ”ฌŒŒผ„ ฝ– “คž…‹ˆ‹ค.
    • ฉ”ฌ ŒŒผ„ ฝœผ, •„ž˜™€ ๊ฐ™€ Œ€™” ƒž๊ฐ€ ‚˜™€ "”„กœ Šธฅผ งŒ“ค๊ฒ ƒ๊ณ  ฌผ– Š”ฐ, ‹น—ฐžˆ ˜ˆ •˜‹œ๊ณ ,  ‹น•œ ฆ„(˜ˆ: STLP_vc6)„ ง“ฃ . ”„กœ Šธ ŒŒผธ .dsp™€ .dsw๊ฐ€ งŒ“ค– €„œ žฌ‚ฌšฉ ฐ”„ˆฆฌฅผ นŒ“œ•  ˆ˜ žˆ๊ฒŒ ฉ‹ˆ‹ค.
      2-VC6mak_read.GIF
  2. žฌ‚ฌšฉ ฐ”„ˆฆฌŠ” STLport Œจ‚ค€— žˆŠ” ‘œ€ C++ —ค”ฅผ ‚ฌšฉ•˜—ฌ นŒ“œ˜€กœ, VC++  —ค”ฅผ ๊ฐ€žฅ จผ € ฐธกฐ•  ˆ˜ žˆ„ก •••‹ˆ‹ค. ”ฐผ„œ  ง“„ • ค‹œ‹ค.
    • Tools ฉ”‰ > Options •ฉ > Directories ƒ—„œ, Include Files ก— stlport ”” ‰† ฆฌฅผ ถ”๊ฐ€•˜๊ณ  ‚˜„œ ๊ฒƒ„ ฒซ ค„กœ ˜ฌฆฝ‹ˆ‹ค.
      3-prebuild_includePath.GIF
  3.  œ Rebuild All„ •˜‹œ“ € •„œ ผธŒŸฌฆฌ นŒ“œกœ “ค– ๊ฐ‘‹ˆ‹ค,
    •Œ, stlport\new —ค” ŒŒผ˜ 2ค„—„œ —Ÿฌฅผ ผœผ‚คŠ” ๊ฒฝšฐ๊ฐ€ žˆŠ”ฐš”, „คž„ŠคŽ˜Šค std::ฅผ ™—ฌ ฃผ„ก •‹œ‹ค. (•„ž˜˜ ๊ทธฆผ—„œ if ‹คŒ˜ 2ค„ž…‹ˆ‹ค)
  4. 4-compileError.GIF
  5.  œ ‹ค‹œ นŒ“œ•‹ˆ‹ค( - -; ). ‹œŠค…œ— ”ฐผ ฐจŠ” žˆ„ ˆ˜ žˆœผ‚˜ 1‹œ๊ฐ„  •„ ๊ฑธฆฝ‹ˆ‹ค.‹คŒ ๊ทธฆผ€ นŒ“œ๊ฐ€ ‚œ ƒƒœ˜ output œˆ„šฐž…‹ˆ‹ค.
    5-STLport_Lib.GIF
  6. นŒ“œ•œ ผธŒŸฌฆฌฅผ ™•ธ•‹ˆ‹ค. ณ„‹คฅธ กฐ •„ • ฃผ€ •Š•˜‹ค •„ž˜™€ ๊ฐ™ lib ”” ‰† ฆฌ™€ •จ๊˜ งŒ“ค–งˆ ๊ฒƒž…‹ˆ‹ค.

    6-postbuild.GIF
    • ๊ธฐณธ œผกœ งŒ“ค–€Š” ผธŒŸฌฆฌŠ”  6๊ฐœž…‹ˆ‹ค. ค‘ "stldebug"ž€ ฌธž— “ค– žˆŠ” ผธŒŸฌฆฌŠ” STLport  „šฉ˜ ””ฒ„๊ทธ ๊ธฐŠฅ •จ๊˜ “ค– žˆŠ” ฒ„ „ž…‹ˆ‹ค. ‚ฌšฉฐฉ•€ •„ž˜˜ "””ฒ„๊ทธ ๊ธฐŠฅ ‚ฌšฉ•˜๊ธฐ"—„œ ‹ญ‹œ˜ค.
      • DLL€ debug/(release)˜ 2๊ฐœž…‹ˆ‹ค.
      • LIB€ debug/(release), debug_static/(release)_static˜ 4๊ฐœž…‹ˆ‹ค.

5.1. <!> ž…ถœ ฅ ผธŒŸฌฆฌฅผ นŒ“œ•˜€ •Š„ ถ„“ค€?

  ˆ˜ „ค…๊ณผ ›„˜ „ค…„ ‘ ๊ฑ„ˆ ›ฐ‹œ๊ณ , stlport ”  „ฅผ VC++ ”˜ /include ”— ณต‚ฌ•˜‹ญ‹œ˜ค. ๊ทธฆฌ๊ณ  "”„กœ๊ทธžจ ๊€ จ „ธŒ…"  ˆ€„ฐ ฝœผ‹œ ฉ‹ˆ‹ค. ‹จ, ผธŒŸฌฆฌ ๊€ จ €ถ„€€ จ —†Šต‹ˆ‹ค.

6. STLport ™„ „žˆ „คน˜•˜๊ธฐ

งŒ“ค–ง„ STLport˜ žฌ‚ฌšฉ ฐ”„ˆฆฌ™€ ‘œ€ —ค”ฅผ น„ฃผ–ผ ŠคŠœ””˜ค—„œ “ธ ˆ˜ žˆ„ก •ฃผŠ” ๊ณผ •ž…‹ˆ‹ค.
  1. DOS ฐฝ„ —๊ณ , STLport Œจ‚ค€๊ฐ€ ’€ฆฐ œ„น˜ฅผ ๊ธฐ€œผกœ src ”” ‰† ฆฌ(œ„—„œ ™•ธ•˜…จฃ ?)ฅผ ฐพ•„ ๊ฐ‘‹ˆ‹ค.
    ~cpp   E:\STLport-4.5.3\src\ 
    
  2. „Šค ”„กฌ”„Šธ—„œ nmake install„ ž… ฅ•‹ˆ‹ค.
    ~cpp  E:\STLport-4.5.3\src\nmake -f vc6.mak install 
    
    • ‹œŠค…œ •Œ๊ณ  žˆŠ” น„ฃผ–ผ ŠคŠœ””˜ค˜ ธฃจ“œ ŒจŠค™€ ผธŒŸฌฆฌ ŒจŠค— STLport —ค”™€ ฐ”„ˆฆฌ๊ฐ€ ณต‚ฌ  ๊ฒ‹ˆ‹ค.

      7-makeInstall.GIF

7. ”„กœ๊ทธž˜ฐ ๊€ จ „ธŒ…

7.1. ตœˆ „ธŒ…: ธฃจ“œ ๊ฒฝกœ กฐ •

1. น„ฃผ–ผ C++๊ฐ€ STLport˜ —ค”ŒŒผ„ ๊ฐ€žฅ จผ € ฐธกฐ•  ˆ˜ žˆ„ก ธฃจ“œ ๊ฒฝกœฅผ กฐ ••‹ˆ‹ค.
  • Tools > Options ฉ”‰ > Directories ƒ—„œ, Include Files ก— ฐฉ๊ธˆ ถ”๊ฐ€œ stlport ”” ‰† ฆฌ(Œ€๊ฐœ C:/Program Files/Microsoft Visual Studio/VC98/include/stlport๊ฒ €š”)ฅผ ถ”๊ฐ€•˜๊ณ  ‚˜„œ,  •„ ๊ฐ€žฅ ฒซ ค„กœ ˜ฌฆฝ‹ˆ‹ค.

7.2. Ÿฐƒ€ž„ ผธŒŸฌฆฌ กฐ ••˜๊ธฐ

STLportŠ” ƒšฉ •„‹ˆ๊ธฐ •Œฌธ—, งฌ ‹œ ‚ฌšฉ•˜Š” STLport  „šฉ C++ Ÿฐƒ€ž„ ผธŒŸฌฆฌ(ž…ถœ ฅŠคŠธฆผ žˆŠ”) ง ‘ „ค •• ฃผ–••‹ˆ‹ค. ๊ฒƒ„  œŒ€กœ ••˜ ค šฐ„  VC++๊ฐ€ ‚ฌšฉ•˜Š” Ÿฐƒ€ž„ ผธŒŸฌฆฌฅผ •Œ•„ ••‹ˆ‹ค. VC++6˜ Ÿฐƒ€ž„ ผธŒŸฌฆฌŠ” VC98/lib ”” ‰† ฆฌ—„œ ™•ธ•  ˆ˜ žˆŠ”ฐ,  • /™  งฌ—ฌ€— ”ฐผ ฌ๊ฒŒ ~cpp LIBxxx.lib ฒ„ „๊ณผ ~cpp MSVCxxx.lib ฒ„ „œผกœ ‚˜‰ฉ‹ˆ‹ค. ”„กœ Šธ—„œ กฐ ••˜Š” €ถ„€ Project > Setting ฉ”‰กœ —ฆฌŠ” C/C++ ƒž…‹ˆ‹ค. C/C++ ƒ—„œ "Code Generation" …Œ๊ณ ฆฌฅผ „ ƒ•˜ Use Run-time Library “œกญ‹คš •Šคฅผ กฐ •• ค„ ˆ˜ žˆŠต‹ˆ‹ค. —ฌ๊ธฐ„œ ””ฒ„๊ทธ  • ฌ•จ(debug) œ , Ÿฐƒ€ž„ ผธŒŸฌฆฌ˜ Šค ˆ”ฉ(thread) “œ, ™  งฌ —ฌ€(DLL)˜ กฐ•„ ๊ฒฐ •• ค„ ˆ˜ žˆŠต‹ˆ‹ค. ๊ธ „ค…€ นผ๊ณ , ๊ฐ„‹จžˆ  •ฆฌ•˜ ‹คŒ๊ณผ ๊ฐ™Šต‹ˆ‹ค. (MSDN˜ „ค…„ ฐธ๊ณ •˜—ฌ  •ฆฌ•˜˜€Šต‹ˆ‹ค)
  • C Ÿฐƒ€ž„ ผธŒŸฌฆฌ (iostream —†Œ) : VC++6 šฉ
    "Use Run-time Library" • ฆ„ Šน• ŒŒผ ˜ต…˜ ™˜๊ฒฝ€ˆ˜ •˜
    Single-Threaded LIBC.LIB ‹จผ Šค ˆ“œ,  •  งฌ /ML
    Multithreaded LIBCMT.LIB ‹คค‘Šค ˆ“œ,  •  งฌ /MT _MT
    Multithreaded DLL MSVCRT.LIB ‹คค‘Šค ˆ“œ, ™ งฌ /MD _MT, _DLL
    • Debug ฒ„ „˜ ๊ฒฝšฐ—” ๊ฐ Ÿฐƒ€ž„Lib •— "Debug"ž€ ฌธž— ™๊ณ , ๊ฐ ฆ„˜ .LIB•ž— "D"๊ฐ€ ™๊ณ , ๊ฐ ™˜๊ฒฝ€ˆ˜— "_DEBUG"๊ฐ€ ถ”๊ฐ€ฉ‹ˆ‹ค.
  • ‘œ€ C++ ผธŒŸฌฆฌ : VC++6 šฉ
    "Use Run-time Library" •ฆ„ Šน• ŒŒผ ˜ต…˜ ™˜๊ฒฝ€ˆ˜ •˜
    Single-Threaded LIBCP.LIB ‹จผ Šค ˆ“œ,  •  งฌ /ML
    Multithreaded LIBCPMT.LIB ‹คค‘ Šค ˆ“œ,  •  งฌ /MT _MT
    Multithreaded DLL MSVCPRT.LIB ‹คค‘ Šค ˆ“œ, ™  งฌ /MD _MT, _DLL
    • —ญ‹œ งˆฐฌ๊ฐ€€กœ, Debug ฒ„ „˜ ๊ฒฝšฐ—” ๊ฐ Ÿฐƒ€ž„Lib •— "Debug"ž€ ฌธž— ™๊ณ , ๊ฐ ฆ„˜ .LIB•ž— "D"๊ฐ€ ™๊ณ , ๊ฐ ™˜๊ฒฝ€ˆ˜— "_DEBUG"๊ฐ€ ถ”๊ฐ€ฉ‹ˆ‹ค.
 ‡๊ธฐ •Œฌธ—, STLportšฉ C++ ผธŒŸฌฆฌ„ —ฌ๊ธฐ— งžถฐ ค˜••‹ˆ‹ค. „ธ ๊ฐœ˜ งคฌกœ ƒˆ˜ฅผ ‚ฌšฉ•  ˆ˜ žˆŠต‹ˆ‹ค.
  • STLport˜ ผธŒŸฌฆฌ „ ƒ: VC++6šฉ
     •˜•œ งคฌกœ ƒˆ˜Œ€‘˜Š” "Use Run-time Library" „ค •งฌ˜Š” STLport Ÿฐƒ€ž„ ผธŒŸฌฆฌ
    _STLP_USE_STATIC_LIB <*><*threaded> stlport_vc6_static.lib
    _STLP_USE_DYNAMIC_LIB <*><*threaded> DLL stlport_vc6.lib
    _STLP_USE_STATICX_LIB <*><*threaded><*> "DLL" stlport_vc6.lib, •„‹ˆ stlport_vc6_static.lib

7.3. <!> Ÿฐƒ€ž„ ผธŒŸฌฆฌ „ธŒ… ž˜ •ˆ  •Œ

_STLP_USE_STATIC_LIB ƒˆ˜ฅผ  •˜•œ ›„— "Use Run-time Library" „ค •„ <*><*threaded>œผกœ งžถ˜ ’ค—„ ~cpp LNK2005 —Ÿฌ™€ ~cpp LNK4098 ๊ฒฝ๊ณ ๊ฐ€ ™‹œ— ‚˜Š” ๊ฒฝšฐ๊ฐ€ žˆŠต‹ˆ‹ค. Ÿฐ —Ÿฌ๊ฐ€ ‚˜˜ฌ ๊ฒƒž…‹ˆ‹ค.
~cpp 
 LIBCMT.lib(osfinfo.obj) : error LNK2005: __alloc_osfhnd already defined in LIBC.lib(osfinfo.obj)
 LIBCMT.lib(osfinfo.obj) : error LNK2005: __set_osfhnd already defined in LIBC.lib(osfinfo.obj)
 .
 .
 .
 LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
 <‹ค–‰ŒŒผ๊ฒฝกœ> : fatal error LNK1169: one or more multiply defined symbols found
 Error executing link.exe.
Š”, VC๊ฐ€ ฝ”“œ ƒ„ฑ ˜ต…˜„ ‹œ•˜๊ณ  LIBCMT.lib„ ๊ธฐณธ œผกœ งŒ€– „ฃ–ฃผ๊ธฐ •Œฌธž…‹ˆ‹ค. ‹ค–‰ŒŒผ„ งŒ“œŠ” ๊ฒฝšฐผ —Ÿฌ๊ฐ€ ๊ฐ€žฅ „ฑ๊ฐ€‹ค …Œ€งŒ, ฐฐฌšฉ ผธŒŸฌฆฌฅผ งŒ“ค ๊ฒฝšฐ—” ๊ฒฝ๊ณ „ —†•  ฃผ–••‹ˆ‹ค.  —Ÿฌ™€ ๊ฒฝ๊ณ ฅผ —†• ๊ธฐ œ„•„œŠ”, œ„— ‚˜˜จ งฉ”‹œ€ Œ€กœ /NODEFAULTLIB ˜ต…˜„ จ••‹ˆ‹ค. VC IDEฅผ “ฐ๊ณ  ๊ณ„‹œ‹ค Project->Setting ฉ”‰ฅผ „ ƒ•˜๊ณ  ‚˜˜คŠ” Œ€™”ƒž—„œ "Link" ƒ„ „ ƒ•˜‹œ๊ณ , "Input" “œกญ‹คš •„ ๊ณ ฅธ ›„— "Ignore Libraries" —””Šธ ƒž— LIBCMT.libฅผ จ „ฃœผ‹œ ฉ‹ˆ‹ค.
™—„, ๊ธฐณธ Ÿฐƒ€ž„ ผธŒŸฌฆฌ™€€ จœ ‚šฉ˜ URL„ ฒจ€•˜‹ˆ, ฐธ๊ณ •˜‹œ๊ธฐ ฐ”ž‹ˆ‹ค.

7.4. ””ฒ„๊ทธ ๊ธฐŠฅ ‚ฌšฉ•˜๊ธฐ

STLport—Š” ž ผธŒŸฌฆฌ—„œ ž ””ฒ„๊ทธ  •ฅผ ‚– ฃผŠ” …Šน•œ ๊ธฐŠฅ„ ๊ฐ€€๊ณ  žˆŠต‹ˆ‹ค. ถฉ„ค…€ Ž™‹ฐธŒ STL˜ •ฉ 50„ ฐธ๊ณ •˜‹ญ‹œ˜ค. —ฌ๊ธฐ„œŠ” STLport˜ ””ฒ„๊ทธ ๊ธฐŠฅ„ ™œ„ฑ™”•˜Š” ฐฉ•งŒ „ค…•‹ˆ‹ค.ง€ ๊ฑฐฐฝ•˜€งŒ, ณธก € ๊ฐ„‹จ•‹ˆ‹ค. ๊ฐ€žฅ จผ € ŒŒผ˜Š” ŒŒผ(.h/.cpp)˜ •ž€ถ„— ‹คŒ๊ณผ ๊ฐ™
~cpp 
#define _STLP_DEBUG
_STLP_DEBUGž€ ‹ฌณผ„  •˜• ‘ ฉ‹ˆ‹ค.  ‡๊ฒŒ •˜, "stldebug" ฌธž— ฌ•œ lib๊ณผ DLL ‚ฌšฉฉ‹ˆ‹ค.

8. …ŒŠคŠธ

 œ ‹ค ‚ฌŠต‹ˆ‹ค. STLport๊ฐ€  œŒ€กœ „คน˜˜—ˆŠ”€ ™•ธ•˜Š” ˜ฏธ—„œ, Œจ‚ค€— “ค– žˆŠ” ฉ”ฌ ŒŒผ„ Visual C++„ ‚ฌšฉ•˜—ฌ ฝ€ ›„— นŒ“œ• „ธš”.
~cpp  test\eh\vc6.mak
 test\regression\vc6.mak
ž™œผกœ …ŒŠคŠธ๊นŒ€ • ค„ ๊ฒ‹ˆ‹ค.

9. ฌธ œ •๊ฒฐ

9.1. nmake— ฌธ œ๊ฐ€ žˆ„ ๊ฒฝšฐ

งŒ•— nmake๊ฐ€ ‹ค–‰˜Š” ฐ ฌธ œ๊ฐ€ žˆ๊ฑฐ‚˜ ผธŒŸฌฆฌ „คน˜๊ฐ€  œŒ€กœ ˜– žˆ€ •Š‹ค, น„ฃผ–ผ ŠคŠœ””˜ค— ๊€ จœ ™˜๊ฒฝ €ˆ˜๊ฐ€ ‹œŠค…œ—  œŒ€กœ “ฑก˜€ •Š€ œ ๊ฐ€ Œ€€ถ„ž…‹ˆ‹ค. ๊ทธŸฌ€กœ, VCVARS32.BATฅผ ‹ค–‰•œ ›„— ‹ค‹œ nmake install„ • „ธš”.

9.2. ”Œžซผ SDK๊ณผ ๊ฐ™ ‚ฌšฉ•  ๊ฒฝšฐ "InterlockedIncrement" ๊€ จ ŒŒผ —Ÿฌ๊ฐ€ ‚  •Œ

ƒ๊ธฐŠ” —ŸฌŠ” Ÿฐ ฅ˜˜ ฉ”‹œ€ž…‹ˆ‹ค:
~cpp 
e:\microsoft visual studio\vc98\include\stlport\stl\_threads.h(122) : 
error C2733: second C linkage of overloaded function 'InterlockedIncrement' not allowed 
e:\microsoft visual studio\vc98\include\stlport\stl\_threads.h(122) : see declaration of 
'InterlockedIncrement' 
 ŒŒผ —Ÿฌฅผ ง‰œผ ค, STLport๊ฐ€ „คน˜œ ”” ‰† ฆฌ(Œ€๊ฐœ C:/Program Files/Microsoft Visual Studio/VC98/include/stlport๊ฒ €š”) —„œ stl_user_config.hฅผ ฐพ•„ —๊ณ , ‹คŒ €ถ„„ ฃผ„ • œ•‹ˆ‹ค.
~cpp 
// # define _STLP_NEW_PLATFORM_SDK 1  

10. ฌธ„œ  •

  • ตœˆ ž‘„ฑ ‚ งœ :2002/03/02
  • ตœข… —…ฐŠธ ‚ งœ :  Ž˜€ •„ž˜— žˆŠ” "last modified"— ‚˜™€ žˆŒ
  •  šฉ ”Œžซผ : Win32 / VC++ 6
  • ž‘„ฑž : ๊ณฝšฉžฌ (kwak101@hitel.net)

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:57
Processing time 0.0519 sec