Hi,

I finally got the compilation to work. I'm not sure what was wrong the first time I tried it.

If anyone wants to try compiling on Windows 7 64-bit, here is the procedure I used:
    - clone the git repository of ECL into any directory
- run the "Visual Studio x64 Win64 Command Prompt (2010)" (you need "Visual Studio 2010" with MSVC++ x64 compiler installed) - move to the directory where you cloned ECL and into the "msvc" sebdirectory - edit the "Makefile" in line 21 and change it from "#ECL_WIN64 = " to "ECL_WIN64 = 1", then save the Makefile - run "nmake" from the same directory and wait for the compilation to finish - run "nmake install", this will install ECL to the "msvc\package" subdirectory - run "ECL" form "msvc\package" and install the compiler by entering "(ext:install-c-compiler)" into the REPL - compile your lisp file(E.G.: hello.lisp) to an .obj file by entering "(compile-file "path_to_file/hello.lisp" :system-p t)" into the REPL - build your program by entering "(c:build-program "your_program_name" :lisp-files '("path_to_file/hello.obj"))" into the REPL - you will need ecl.dll and any other dependencies in the directory where you run your compiled program or in the "PATH"

I know that the procedure is explained in the ECL manual, but I was so happy that I got it to work that I had to share it with you guys.

Cheers,
Matic



On 22.7.2013 0:32, Matic Kukovec wrote:
Thanks for the information.

About point 1.:
Did you build ECL yourself?
        yes

Which compiler did you use?
MSVC 2010 x64, I ran "nmake" from the "Visual Studio x64 Win64 Command Prompt (2010)"

Which flags did you use for building ECL? Did you use "nmake ECL_WIN64=1"?
Uncommented the "ECL_WIN64=1" flag in the MakeFile, then ran "nmake"

How did you install ECL?
Did not install it, just ran the ecl2.exe after the compilation finished. Also tried running "nmake install" then running the ecl.exe from the package directory, still got the same error.

Is the same compiler used for building ECL and for compiling this code?
I do not know how to select the compiler, I only ran "(ext:install-c-compiler)" in the REPL and it automatically installed the compiler and printed the message: ;;; Loading #P"C:/Users/Matic/Desktop/LISP/ECL_64/ecl/msvc/package/cmp.fas" If I do not run the "(ext:install-c-compiler)", then it only compiles to a .fas file.
        How do you select the appropriate c compiler?

P.S.: I used the exact same procedure on a 32-bit Windows XP with the MSVC 2010 x86 compiler and it worked like a charm.

Any advice would be greatly appreciated.

Matic


On 21.7.2013 22:17, Juan Jose Garcia-Ripoll wrote:
I am forwarding your email to the mailing list. I do not answer private emails nor solve individual problems. If you have some doubt about ECL, the mailing list is the place for asking.

On Sun, Jul 21, 2013 at 12:14 PM, Matic Kukovec <matic.kuko...@pametnidom.si <mailto:matic.kuko...@pametnidom.si>> wrote:

    1. How do i compile a program on a Windows 7 64-bit system to
    native code?
        I tried this procedure: - installed the c compiler with
    "(ext:install-c-compiler)", i am using the MSVC++ 2010 compiler
                                               - created hello.lisp
    file same as in the "1.6 Compiler examples" of the manual
                                               - ran (compile-file
    "hello.lisp" :system-p t)
        I get this message:
                                        > (compile-file
    "C:/Users/Matic/Desktop/LISP/ECL_Testiranje/hello.lisp")
                                        ;;;
                                        ;;; Compiling
    C:/Users/Matic/Desktop/LISP/ECL_Testiranje/hello.lisp.;;;
    OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
                                        ;;;
                                        ;;; End of Pass 1.hello.c
                                        .\ecl/object.h(826) : error
    C2632: 'long' followed by 'long' is illegal
                                        .\ecl/object.h(827) : error
    C2632: 'long' followed by 'long' is illegal


There is not enough information here:

- Did you build ECL yourself?
- Which compiler did you use?
- Which flags did you use for building ECL? Did you use "nmake ECL_WIN64=1"?
- How did you install ECL?
- Is the same compiler used for building ECL and for compiling this code?


    2. How do you run a LTk application properly?


This is not the right place to ask this question.

Juanjo

--
Instituto de FĂ­sica Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list

Reply via email to