2014-05-05 39 views
-1

我已經我如何編譯和運行erlang程序?

  1. FreeBSD的10
  2. 文件夾在/ usr /家庭/ EC2用戶/ ezmq與文件從https://github.com/zeromq/ezmq
  3. 安裝二郎

然後我:

  1. 在命令行運行 - ERL
  2. 在ERL

    C( 「/ USR /家庭/ EC2用戶/ ezmq /示例/ hwclient.erl」)。 (「/ usr/home/ec2-user/ezmq/examples/hwserver.erl」)。

  3. hwserver:main()。

  4. hwclient:main()。

和有錯誤

異常錯誤:未定義功能ezmq:在功能hwserver開始/ 1 :主/ 0(/usr/home/ec2-user/ezmq/examples/hwserver.erl,線14)

和有錯誤

異常錯誤:未定義功能ezmq:在功能hwclient開始/ 1:主/ 0(/usr/home/ec2-user/ezmq/examples/hwclient.erl 14行)

我怎麼樣編譯和運行

https://github.com/zeromq/ezmq/blob/master/examples/hwclient.erl + hwserver.erl

的例子嗎?

,我有錯誤

** exception exit: {{undef,[{gen_listener_tcp,start_link, 
               [ezmq_tcp_socket, 
               [<0.49.0>,<<>>,5555, 
               [binary,inet, 
               {active,false}, 
               {send_timeout,5000}, 
               {backlog,10}, 
               {nodelay,true}, 
               {packet,raw}, 
               {reuseaddr,true}]], 
               []], 
               []}, 
          {ezmq,handle_call,3,[{file,"src/ezmq.erl"},{line,238}]}, 
          {gen_server,handle_msg,5, 
             [{file,"gen_server.erl"},{line,585}]}, 
          {proc_lib,init_p_do_apply,3, 
             [{file,"proc_lib.erl"},{line,239}]}]}, 
        {gen_server,call,[<0.49.0>,{bind,tcp,5555,[]}]}} 
    in function gen_server:call/2 (gen_server.erl, line 180) 
    in call from hwserver:main/0 (/usr/home/ec2-user/ezmq/examples/hwserver.erl, line 15) 
+0

您是使用螺紋鋼還是直接從GitHub安裝ZMQ文件? – dethtron5000

+0

我運行git clone https://github.com/zeromq/ezmq.git –

回答

3

本工程採用鋼筋,所以試試這個:

  1. 從這裏下載:https://github.com/rebar/rebar/wiki/rebar
  2. 使其可執行
  3. 編譯:./rebar compile
  4. 打開兩個終端
  5. 在終端1中,運行:erl -pa ebin -pa /deps/gen_listener_tcp/ebin -pa選項告訴vm從哪裏加載beam文件。

    1. 在二郎殼,運行:

      c("examples/hwserver") hwserver:main().

  6. 在終端2,運行:erl -pa ebin -pa /deps/gen_listener_tcp/ebin

    1. 在二郎殼,運行:

      c("examples/hwclient") hwclient:main().

你應該看到一堆輸出。

make文件似乎需要將rebar放在您的路徑中。一旦你這樣做,你可以嘗試制定目標。

+0

我這樣做。我如何運行hwclient.erl + hwserver.erl –

+0

當你運行'erl -pa ebin'時,它應該啓動一個shell。您應該能夠從該外殼運行服務器和客戶端電源。 – kjw0188

+0

我在erlang shell hwserver:main()中運行。並有錯誤**異常錯誤:未定義函數hwserver:main/0 –