Gtk2hs дава грешка по време на изпълнение Изисква се gtk+ версия 3

Пиша малко приложение, използвайки gtk2hs, но получавам грешката по-долу при стартиране на приложението.

изисква gtk+ версия 3.10, текущата версия е 2.24

Също така проверих (използвайки ldd), че библиотеката по-долу е свързана с моето приложение.

libgtk-x11-2.0.so.0 => /lib64/libgtk-x11-2.0.so.0 (0x00000036aee00000)

Имам gtk версия 3 инсталирана на моята машина. Но все пак приложението използва версия 2 на библиотеката.

/lib64/libgtk-3.so
/lib64/libgtk-3.so.0

Как мога да разреша този проблем? Трябва ли да посоча някакъв GHC аргумент, за да свържа gtk3 lib?


person dfordivam    schedule 25.09.2014    source източник
comment
Инсталирали ли сте пакета gtk3 в Haskell (вместо gtk)?: hackage.haskell.org/package/gtk3   -  person vivian    schedule 25.09.2014


Отговори (1)


Правилното решение е споменато от vivian. Тук добавям още няколко неща, които бяха необходими, за да работи приложението.

Първо инсталирайте gtk3

cabal инсталира gtk3

След това посочете, че искате да използвате пакета gtk3. (Тъй като функционалността по-долу присъства както в пакетите "gtk", така и в "gtk3")

импортиране на "gtk3" Graphics.UI.Gtk

и накрая компилирайте с

ghc -XPackageImports file.hs

person dfordivam    schedule 25.09.2014