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.0495 sec