์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

winecpp-development - ํด๋ผ์šฐ๋“œ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ winecpp-development ์‹คํ–‰

์ด๊ฒƒ์€ Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” winecpp-development ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


winegcc - Wine C ๋ฐ C++ MinGW ํ˜ธํ™˜ ์ปดํŒŒ์ผ๋Ÿฌ

๊ฐœ์š”


ํฌ๋„์ฃผ CC [์˜ต์…˜] ์ธํŒŒ์ผ...

๊ธฐ์ˆ 


ํฌ๋„์ฃผ CC Linux์—์„œ MinGW ํ˜ธํ™˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ œ๊ณตํ•˜๋ ค๋Š” gcc ๋ž˜ํผ์ž…๋‹ˆ๋‹ค.
์ด๋Š” Windows์—์„œ MinGW ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” Win32 ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฐ€์žฅ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
Linux์˜ Winelib์—์„œ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜์‹ญ์‹œ์˜ค. wineg++๋Š” ๋Œ€๋ถ€๋ถ„
winegcc์™€ ๋™์ผํ•œ ์˜ต์…˜.

winegcc์˜ ๋ชฉํ‘œ๋Š” ๋‹จ์ˆœํžˆ gcc/g++/windres๋ฅผ
Winegcc/wineg++/wrc๋ฅผ MinGW Makefile์— ๋„ฃ๊ณ  Winelib๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.
์™€์ธ ์•„๋ž˜. ์ผ๋ฐ˜์ ์œผ๋กœ
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ/๋˜๋Š” Makefile๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
MinGW์™€ Wine ํ™˜๊ฒฝ ๊ฐ„์— ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

์ด ์„ค๋ช…์„œ๋Š” gcc์™€์˜ ์ฐจ์ด์ ๋งŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. gcc ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
ํ•ด๋‹น ์˜ต์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด.

์˜ต์…˜


GCC ์˜ต์…˜ : ๋ชจ๋“  gcc ์˜ต์…˜์ด ์ง€์›๋˜๋ฉฐ ๋ฐฑ์—”๋“œ ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

-B์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ์‹คํ–‰ ํŒŒ์ผ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํฌํ•จ ํŒŒ์ผ ๋ฐ
์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ. ์ด๊ฒƒ์€ ํ‘œ์ค€ gcc ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
์ธ์‹ํ•˜๋„๋ก ํ™•์žฅ ์ ‘๋‘์‚ฌ ์ด ๊ฒฝ์šฐ '/tools/winebuild'๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค.
winegcc๋Š” Wine ์ž์ฒด๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ํŠน์ˆ˜ ๋ชจ๋“œ๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋งค์ง ์ ‘๋ฏธ์‚ฌ๋กœ ๋๋‚˜๋Š” ์ ‘๋‘์‚ฌ, ๋˜๋Š” ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„
ํŠน๋ณ„ํ•œ ๋™์ž‘์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด '/tools/winebuild/'์™€ ๊ฐ™์ด ๋‹ค๋ฅด๊ฒŒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

-fno-์งง์€-wchar
๋Œ€์‹  ๋Œ€์ƒ์˜ ๊ธฐ๋ณธ๊ฐ’์ด ๋˜๋„๋ก wchar_t์˜ ๊ธฐ๋ณธ ์œ ํ˜•์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
Win32์˜ ๊ธฐ๋ณธ๊ฐ’์ธ short unsigned int๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

-mconsole
์ด ์˜ต์…˜์€ '--subsystem console'์„ winebuild์— ์ „๋‹ฌํ•˜์—ฌ ์ฝ˜์†”์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ. ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

-mno-cygwin
ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ libc์— ์—ฐ๊ฒฐํ•˜๋Š” ๋Œ€์‹  MSVCRT์˜ Wine ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ Win32 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
MSVCRT์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šค์œ„์น˜๋Š” MinGW์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
Cygwin libc์— ๋งํฌํ•˜๋Š” ๋Œ€์‹  Windows์—์„œ MSVCRT์— ๋งํฌํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ.
MinGW์™€ ๊ตฌ๋ฌธ์„ ๊ณต์œ ํ•˜๋ฉด ์•„๋ž˜์—์„œ ์ž‘๋™ํ•˜๋Š” Makefile์„ ๋งค์šฐ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์™€์ธ, MinGW+MSYS ๋˜๋Š” MinGW+Cygwin.

-๋ฎค๋‹ˆ์ฝ”๋“œ
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ์ง„์ž…์ ์„ ์œ ๋‹ˆ์ฝ”๋“œ๋กœ ์„ค์ • wmain() ๋Œ€์‹ 
ํ‘œ์ค€ ๋ณธ๊ด€().

-mwindows
์ด ์˜ต์…˜์€ -lgdi32, -lcomdlg32 ๋ฐ -lshell32๋ฅผ ๊ธฐ๋ณธ๊ฐ’ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ '--ํ•˜์œ„ ์‹œ์Šคํ…œ ์ฐฝ'์„ winebuild์— ์ „๋‹ฌํ•˜์—ฌ ๊ทธ๋ž˜ํ”ฝ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
๋ถ„์•ผ์˜ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

-nodefaultlibs
์—ฐ๊ฒฐํ•  ๋•Œ ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์—ฌ๊ธฐ์—๋Š” ์ตœ์†Œํ•œ
-lkernel32, -luser32, -ladvapi32 ๋ฐ ๋ฐฑ์—”๋“œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์ปดํŒŒ์ผ๋Ÿฌ. -mwindows ์˜ต์…˜์€ ์„ค๋ช…๋œ ๋Œ€๋กœ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก์„ ๋ณด๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.
์œ„.

-nostartํŒŒ์ผ
์—ฐ๊ฒฐํ•  ๋•Œ winecrt0 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

-Wb,์„ ํƒ๊ถŒ
winebuild์— ์˜ต์…˜์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์„ ํƒ๊ถŒ ์‰ผํ‘œ๋ฅผ ํฌํ•จํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.
์‰ผํ‘œ์˜ ์˜ต์…˜.

ํ™˜๊ฒฝ


์™€์ธ๋นŒ๋“œ
์˜ ๊ฒฝ๋กœ์™€ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํฌ๋„์ฃผ ์–‘์กฐ์žฅ ์‹คํ–‰๋  ๋ฐ”์ด๋„ˆ๋ฆฌ
์ž๋™์œผ๋กœ ํฌ๋„์ฃผ CC. ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํฌ๋„์ฃผ CC ์ด๋ฆ„์ด ์ง€์ •๋œ ํŒŒ์ผ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ํฌ๋„์ฃผ ์–‘์กฐ์žฅ
๊ฒฝ๋กœ์—์„œ.

์ •์˜ํ•˜๋‹ค


winegcc๋Š” __WINE__์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
์™€์ธ. ๋˜ํ•œ ๋‹ค์Œ์— ๋Œ€ํ•ด WIN32, _WIN32, __WIN32, __WIN32__, __WINNT ๋ฐ __WINNT__๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
MinGW์™€์˜ ํ˜ธํ™˜์„ฑ.

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์œผ๋กœ winecpp-development ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

Ad