์๋
ํ์ธ์ @cwensley
์ต์ ๋ง์คํฐ(๋ฐ Net Core 2.2๊ฐ ํฌํจ๋ VS2017.9) ์ฌ์ฉ.
๋ฐฉ๊ธ ์ปดํ์ผํ๊ณ netcoreapp2.0 ํ
์คํธ ํด๋๋ก ์ด๋ํ์ต๋๋ค. https://i.imgur.com/rWR7hj1.png
์คํํ๋ ค๊ณ ์๋ํ๊ณ ๋ค์์ ์ป์ต๋๋ค. https://i.imgur.com/CkLyiCk.png
์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ถ์กฑํฉ๋๊น? Net461 ๋ฆด๋ฆฌ์ค ํ
์คํธ ๋ฐ๋ชจ๋ ์ ์๋ํฉ๋๋ค.
net461\Eto.Test.Gtk3.exe - ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ์คํ๋์ง ์์ต๋๋ค.
a) ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(gtk-sharp, gio-sharp, ...)๋ฅผ ๋์ ๋ฐ์ด๋๋ฆฌ ํด๋์ ๋ณต์ฌํ์ง ์์ต๋๋ค.
b) ์ ์ฅ์์ ์ ํ ์กด์ฌํ์ง ์๋ libgtk-win32-3.0-0.dll์ ๋ณต์ฌํ์ง ์์ต๋๋ค(์?? ์ฌ๋ฐ๋ฅธ dll์ ์ด๋์ ์ป์ ์ ์์ต๋๊น?)
์๋ ํ์ธ์ @Krakean ,
์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ถ์กฑํฉ๋๊น?
Windows์ฉ GTK+ 3์ ์ค์นํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ํ๋ ค๋ฉด gtk+ ์ค์น๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ผ ํ ์๋ ์์ต๋๋ค. ๋๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ Windows์์ ์ง์ ์ํํ์ง ์์์ผ๋ฉฐ Eto.WinForms ๋๋ Eto.Wpf ๋์ Eto.Wpf๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๊ฐ ์ข ์์ฑ์ด ํ์ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
macOS์์๋ ์ฑ๊ณต์ ์ธ ํ ์คํธ๋ฅผ ์ํด homebrew ๋ฅผ ์ฌ์ฉํ์ฌ GTK+3์ ์ค์นํ์ง๋ง ์ฃผ๋ก Mac64 ๋๋ XamMac2 ํ๋ซํผ์ ์ฌ์ฉํฉ๋๋ค.
GTK+๊ฐ ์ค์น๋ ๋ชจ๋ Linux์์๋ .net ์ฝ์ด ๋๋ ๋ชจ๋ ธ์์๋ง ์๋ํด์ผ ํฉ๋๋ค. mkbundle์ ์ฌ์ฉํ๊ฑฐ๋ .net ํต์ฌ ์ฑ์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ์๋ ํ์ํ์ง ์์ต๋๋ค.
Eto.Test.Gtk3.exe์ ๊ฒฝ์ฐ ๋๋ถ๋ถ์ ๋ฐฐํฌํ์์ ์ผ๋ฐ์ ์ด๊ณ ๋ชจ๋ ธ์์๋ง ์๋ํ๋ gtk-sharp3 ํจํค์ง๋ก๋ง Linux์์ ์๋ํ๋๋ก ๋์ด ์์ต๋๋ค. ๋ํ gtk-sharp3 ํจํค์ง๊ฐ ์ ๊ทน์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋์ง ์๊ณ ์๋ ๊ฐ ๋ณ๊ฒฝ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
@Krakean ๋ด ์ ์์ ์๋ ํ์ต๋๊น?
@cwensley ์ผ์ข ์.
Windows์ฉ GTK+ 3์ ์ค์นํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ํ๋ ค๋ฉด gtk+ ์ค์น๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ผ ํ ์๋ ์์ต๋๋ค.
ํ์ํ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ repo์ ํ์๋์ด ์ฌ์ฉ์๊ฐ ์ปดํ์ผํ๊ณ ์คํํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
Eto.Test.Gtk3.exe์ ๊ฒฝ์ฐ gtk-sharp3 ํจํค์ง๊ฐ ์๋ Linux์์๋ง ์๋ํ๋๋ก ๋์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ฌํ ๊ฒ์
๋๋ค. ์ ๋ ํนํ Windows์ Gtk3์ ๊ด์ฌ์ด ์์์ต๋๋ค :-\
Gtk๊ฐ ๋ ์ ์์ํ๋์๊ธฐ ๋๋ฌธ์ :) Wpf/Winforms๋ณด๋ค ์กฐ๊ธ ๋ ์ข์ ๋ณด์
๋๋ค. ํนํ ์ฌ์ฉ์ ์ ์ Windows ํ
๋ง๊ฐ ์ค์น๋ ๊ฒฝ์ฐ. ๊ทธ๋ฌ๋ Gtk ์ฑ๋ฅ์ Wpf๋ณด๋ค ์๋นํ ๋ฎ์ต๋๋ค. ์ด ์ ์์ Gtk3๊ฐ Gtk2๋ณด๋ค ๋์ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@ํฌ๋ผ์ผ ,
ํ์ํ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ repo์ ํ์๋์ด ์ฌ์ฉ์๊ฐ ์ปดํ์ผํ๊ณ ์คํํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ๊ทธ๊ฒ์ ์ข์ ์ ์์ง๋ง Eto.Forms๋ OS์ ์ผ์นํ๋ ํ๋ซํผ์ ์คํํ ์ ์๋๋ก ๊ตฌ์ถ๋์ด ์ด๋ฌํ ๊ฑฐ๋ํ ์ข ์์ฑ์ ์ค์นํ ํ์๊ฐ ์์ต๋๋ค. ๋ํ ๊ธฐ๋ณธ ํดํท์ ์ฌ์ฉํ๋ฏ๋ก ๊ฐ OS์์ ์ฑ์ด ๋ ๋ณด๊ธฐ ์ข๊ฒ ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, Windows์ Gtk+3์ ์ฌ์ ํ โโ๋งค์ฐ ๋ชป์๊ฒผ๊ณ ๊ธฐ๋ณธ Windows ์ฑ์ฒ๋ผ ๋๊ปด์ง์ง ์์ต๋๋ค.
์ ๋ ํนํ Windows์ Gtk3์ ๊ด์ฌ์ด ์์์ต๋๋ค.
"Gtk" ํ๋ซํผ์ ์ฌ์ฉํ์ฌ "Gtk3" ํ๋ซํผ์ ๋์ฒดํ๊ณ Gtk+3 ์ด์์ ๋์์ผ๋ก ํฉ๋๋ค.
Eto.Gtk2 -> gtk-sharp2 ํ์(Windows, Mac ๋ฐ Linux์ฉ ํจํค์ง ํฌํจ)
Eto.Gtk3 -> gtk-sharp3๊ฐ ํ์ํ๋ฉฐ Linux์์๋ง ์คํ๋ฉ๋๋ค.
Eto.Gtk -> ๋ gtk-sharp ์์ฒด ์ฌ๋ณธ ๊ณผ ํจ๊ป ์ ๊ณต๋๋ฏ๋ก Gtk+3๋ง ํ์ํฉ๋๋ค. Gtk+3์๋ ๋ชจ๋ ํ๋ซํผ์ ๋ํ ์ค์น ํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค.
์ด ์ ๋ณด๊ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@Krakean @cwensley ์ธ๊ธํ์ .NET Core ๋ฐ๋ชจ๊ฐ ์ด๋์ ์๋์ง ์๋ ค์ฃผ์๊ฒ ์ต๋๊น?
@pablocar80 src/
ํ์ฌ Eto.Gtk ํ๋ซํผ์ .NET Core๋ฅผ ์ง์ํ๋ ์ ์ผํ ํ๋ซํผ์ ๋๋ค. .NET Core 3.0์ด ์ถ์๋ ๋ Eto.Wpf ๋ฐ Eto.WinForms์ ๋ํ .NET Core์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ ๊ฑฐ์ ๋์์ Eto.Mac64์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ณํ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@pablocar80 src/
ํ์ฌ Eto.Gtk ํ๋ซํผ์ .NET Core๋ฅผ ์ง์ํ๋ ์ ์ผํ ํ๋ซํผ์ ๋๋ค. .NET Core 3.0์ด ์ถ์๋ ๋ Eto.Wpf ๋ฐ Eto.WinForms์ ๋ํ .NET Core์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ ๊ฑฐ์ ๋์์ Eto.Mac64์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ณํ์ ๋๋ค.