Haskell или Ocaml с предварительно скомпилированным дистрибутивом OpenGL и SDL для Windows - PullRequest
10 голосов
/ 01 августа 2010

Я хочу выучить Ocaml или Haskell, и я хочу сделать это, написав простую игру. Очевидно, есть одна небольшая проблема: никто не заботится о Windows, и я хочу сделать это на Windows, изначально.

В Haskell есть Cabal, в котором есть SDL, но он не собирается из-за тривиальной проблемы без обходных путей (порядок параметров, передаваемых в gcc). Ocaml даже не имеет этого, все в исходных пакетах, будь то GLCaml или OcamlSDL или что-то еще.

Есть ли место, где я могу получить рабочий SDL для Haskell или Ocaml под Windows, не сражаясь с дюжиной версий компиляторов?

Ответы [ 5 ]

5 голосов
/ 01 августа 2010

Платформа Haskell поставляется с привязкой к OpenGL, которая должна работать "из коробки" в Windows.

Что касается пакета SDL для взлома, вы можете использовать cabal unpack SDL, чтобы получить исходный код и исправить вещи самостоятельно. Чтобы установить пакет с вашими изменениями, запустите cabal install в распакованном каталоге. В любом случае, напишите об этом сопровождающему, я уверен, что он вам поможет.

1 голос
/ 08 октября 2010

Это не SDL, но GLFW работает на Windows с Haskell через Cabal.

1 голос
/ 14 августа 2010

Лучшие инструкции, которые я нашел для того, чтобы заставить SDL работать в Windows с самой последней платформой Haskell, можно найти в этом блоге . Я следовал всем шаг за шагом, и он работал отлично, несмотря на некоторые сообщения об ошибках настройки.

1 голос
/ 06 августа 2010

Это не относится к SDL, но вы упомянули OpenGL.В OCaml есть LablGL привязка для OpenGL, которая работает из коробки.Пример Wiki (http://en.wikipedia.org/wiki/Objective_Caml#Triangle_.28graphics.29) компилируется и работает просто отлично.

0 голосов
/ 21 ноября 2010

Моя статья Высококачественная графика с OpenGL 2 (25 февраля 2008 г.) объясняет, как привязки GLCaml могут использоваться для написания приложений на основе OpenGL в OCaml, которые используют вершину и фрагментшейдеры (в качестве примера приводится шейдерный фонг).В журнале OCaml на OpenGL есть 9 статей , хотя в основном используется более старая библиотека LablGL для OpenGL 1.1.

Я пытался и не смог заставить OpenGL работать из Haskellпод Linux в 2007 году. Платформа Haskell , возможно, изменила это, но у меня еще не было времени попробовать это самостоятельно, и я никогда не слышал о том, чтобы кто-нибудь использовал это для этого.

Однако, и OCaml, иHaskell должен полагаться на хрупкие низкоуровневые привязки к OpenGL, потому что они являются автономными языками, и никому никогда не удавалось заставить какое-либо значительное коммерческое программное обеспечение использовать их для работы .Поскольку вы работаете в Windows, F # + XNA - гораздо более логичный выбор, потому что XNA опробован и протестирован, а F # имеет безопасный высокоуровневый интерфейс к нему.Бой в Google дает вам хорошее представление о том, кем вы будете пионером: + haskell + opengl дает 437 хитов в Google, а + ocaml + opengl дает только 347 хитов.

...