Я хотел бы написать отдельное приложение Erlang, которое можно запускать так же, как любую другую программу (нажав на исполняемый файл .exe). Что-то вроде Wings3D делает.
Как я могу это сделать? Каков наилучший подход, чтобы сделать это возможным? Я на платформе Windows, если это важно.
2-е ОБНОВЛЕНИЕ:
Ну, я не экспортировал функцию promodb:start/0
, и это было причиной, по которой Эрланг не смог запуститься (и, как говорит Музаая Джошуа, werl -s
не работает). Но теперь у меня есть еще одна странная проблема. В моем rebar.config
у меня есть 2 зависимости:
{deps, [
{cowboy, ".*", {git, "https://github.com/extend/cowboy.git"}},
{erlydtl, ".*", {git, "https://github.com/evanmiller/erlydtl.git"}}
]
}.
и после запуска Erlang с помощью
erl -pa ebin deps/cowboy/ebin deps/erlydtl/ebin deps/proper/ebin -s promodb
По приложению: which_application () я обнаружил, что запускается только Cowboy:
[{cowboy,"Small, fast, modular HTTP server.","0.4.0"},
{stdlib,"ERTS CXC 138 10","1.18"},
{kernel,"ERTS CXC 138 10","2.15"}]
Насколько я знаю, Erlang должен запустить все необходимые приложения, которые я поместил в мой файл promodb.app
, как:
{application, promodb,
[
{description, ""},
{vsn, "0.1"},
{registered, [promodb_sup]},
{applications, [
kernel,
stdlib,
cowboy,
erlydtl
]},
{mod, { promodb, []}},
{env, []}
]}.
Что я сделал не так?