Compiling Erlang code on Windows

前端 未结 6 830
夕颜
夕颜 2021-02-08 03:48

I installed Erlang 13B and tried to follow the tutorials.

Every time I get to c(tut), I get an error instead of (ok, tut), so it seems like the

相关标签:
6条回答
  • 2021-02-08 04:23

    For c(tut) to work, there has to be a tut.erl file in the current directory.

    This is easy to accomplish if you start the Erlang interpreter from the command line, as is common on systems like Linux and OS X, but this isn't the usual pattern on Windows. When you start Erlang on Windows from the icon in the Start menu, the current working directory defaults to the location of werl.exe, which isn't where your tut.erl file is.

    To make your command work as expected, you have to change your working directory to be the location of tut.erl after starting the Erlang shell. If tut.erl is on the Desktop, the command will be something like this on Vista or Windows 7:

    cd("c:/Users/myname/Desktop").
    

    (Yes, you have to use forward slashes. Backslashes are special in Erlang strings.)

    On Windows XP and older, your Desktop folder is buried much deeper. It might be simpler to put werl.exe in the system PATH and use the command line on such systems.

    It isn't necessary, but you might want to consider installing Cygwin. Its Bash shell will give you a more Linux or OS X like environment, which will help you work with other tutorials that are structured for those OSes.

    0 讨论(0)
  • 2021-02-08 04:26

    You can also create an initialization file named .erlang under YourErlangInstallationPath\usr\

    the content of the file should look something like this;

    io:format("consulting .erlang in ~p~n" ,
    [element(2,file:get_cwd())]).
    %% Edit to the directory where you store your code
    c:cd("O:/Erlang.Umut").
    io:format("Now in:~p~n" , [element(2,file:get_cwd())]).
    

    it will automatically change the path to your working folder. (Obviously, my path is O:/Erlang.Umut, you need to replace it with yours.)

    No need to change folders every time you launch console. Console will be able to reach your erl files directly.

    0 讨论(0)
  • 2021-02-08 04:27

    I recently tried Erlang on windows.

    use the console window to make sure the text editor you are using is giving your files the correct extension ie. filename.erl and not filename.erl.txt like mine was!

    when I saved my files in notepad it added .txt so I saved in unicode. fixed

    0 讨论(0)
  • 2021-02-08 04:37

    If you are still getting "tut:erl:none: no such file or directory", the file name is wrong. If you open a Windows command prompt and move to your desktop and type "dir" you will see that tut.erl is really named tut.erl.txt. type "ren tut.erl.txt tut.erl" and now your compile will work.

    0 讨论(0)
  • 2021-02-08 04:41

    After you install Erlang open the shell and do:

    1> pwd().
    C:/Program Files/erl5.7.1/usr
    ok
    2>
    

    Assume you have a file; "tut.erl" on your desktop. Content might look like this:

    -module(tut).
    -compile(export_all).
    
    hello_world() ->
      hello.
    

    You must change the path of the current working directory to the desktop first (or where ever you want to do the compile). Like this perhaps:

    2> cd("F:/Desktop").
    F:/Desktop
    ok
    3>
    

    Then you can perform the compile.

    3> c(tut).
    {ok,tut}
    4>
    

    Then test the module

    4> tut:hello_world().
    hello
    5> 
    

    More info refer to the documentation here: Erlang official documentation More info on the shell, look here: Shell module

    Hope this gets your started.

    0 讨论(0)
  • 2021-02-08 04:43

    When werl's current working directory is same as the file to be compiled, the filename is given as an argument without the whole path. Otherwise, for eg. Assuming tut.erl is placed at C:\ErLang tutorials, one may try compiling as,

    c("C:\\ErLang tutorials\\tut").
    

    Note:

    1. Without double quotes the : causes syntax error
    2. The backslash is given using escape sequence
    0 讨论(0)
提交回复
热议问题