Windows上的OCaml编译器 - 编译模块错误。 (i686的-W64-的mingw32-AS)

时间:2014-07-24 07:27:28

标签: cygwin mingw ocaml

我正在使用Windows 7 64x,在我的下一个学期,我将在我的一个讲座中使用OCaml作为主要语言而且我更像是一个“Windows”人(我有Windows版本和基于cygwin的版本) 。所以我决定过去this tutorial

现在问题在于: 我已按照链接中的指定创建了文件amodule.mlbmodule.ml。但是,当我尝试在命令行上执行以下行时:

ocamlopt -c amodule.ml

我收到以下错误:

'i686-w64-mingw32-as' is not recognized as an internal or external command, operable program or batch file.
File "amodule.ml", line 1:
Error: Assembler error, input left in file C:\Users\Devate\AppData\Local\Temp\camlasm0d9121.s

bmodule.ml并使用最后一行几乎出现同样的错误:

ocamlopt -o hello amodule.cmx bmodule.cmx

完成后 - 我得到两个名为amodule.cmibmodule.cmi的新文件。 但是,如果我尝试使用cygwin版本进行编译,则不会出现任何错误(我得到amodule.cmiamodule.cmx - 与bmodule相同。

然而,在cygwin的最后一行我遇到了大量的错误:

ocamlopt -o hello amodule.cmx bmodule.cmx

/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/std_exit.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/stdlib.a(pervasives.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(ints.o)' is incompatible with
i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(i386.o)' is incompatible with
i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(fail.o)' is incompatible with
i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(io.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(str.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(minor_gc.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(intern.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(compare.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(floats.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(sys.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(extern.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(memory.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(callback.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(startup.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(alloc.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(custom.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(roots.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(signals_asm.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(backtrace.o)' is incompatible
with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(printexc.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(signals.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(weak.o)' is incompatible with
i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(gc_ctrl.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(major_gc.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(misc.o)' is incompatible with
i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(finalise.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(md5.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(freelist.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(win32.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(globroots.o)' is incompatible
with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(parsing.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(debugger.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `C:\OCaml\lib/libasmrun.a(compact.o)' is incompatible with i386:x86-64 output
/tmp/camlstartup942177.o:fake:(.text+0x5): undefined reference to `camlPervasives__entry'
/tmp/camlstartup942177.o:fake:(.text+0x5): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `camlPervasives__entry'
/tmp/camlstartup942177.o:fake:(.text+0xc): undefined reference to `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0xc): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x1c): undefined reference to `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x1c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x2c): undefined reference to `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x2c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x35): undefined reference to `camlStd_exit__entry'
/tmp/camlstartup942177.o:fake:(.text+0x35): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `camlStd_exit__entry'
/tmp/camlstartup942177.o:fake:(.text+0x3c): undefined reference to `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x3c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_globals_inited'
/tmp/camlstartup942177.o:fake:(.text+0x5e): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x5e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x9e): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x9e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0xee): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0xee): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x12e): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x12e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x16e): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x16e): additional relocation overflows omitted from the output
/tmp/camlstartup942177.o:fake:(.text+0x1a3): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x1ee): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x22e): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x26e): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x2a3): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.text+0x2de): undefined reference to `caml_young_limit'
/tmp/camlstartup942177.o:fake:(.text+0x313): undefined reference to `caml_call_gc'
/tmp/camlstartup942177.o:fake:(.data+0x2b8): undefined reference to `camlPervasives'
/tmp/camlstartup942177.o:fake:(.data+0x2d0): undefined reference to `camlStd_exit'
/tmp/camlstartup942177.o:fake:(.data+0x3d8): undefined reference to `camlPervasives__data_begin'
/tmp/camlstartup942177.o:fake:(.data+0x3e0): undefined reference to `camlPervasives__data_end'
/tmp/camlstartup942177.o:fake:(.data+0x408): undefined reference to `camlStd_exit__data_begin'
/tmp/camlstartup942177.o:fake:(.data+0x410): undefined reference to `camlStd_exit__data_end'
/tmp/camlstartup942177.o:fake:(.data+0x430): undefined reference to `camlPervasives__code_begin'
/tmp/camlstartup942177.o:fake:(.data+0x438): undefined reference to `camlPervasives__code_end'
/tmp/camlstartup942177.o:fake:(.data+0x460): undefined reference to `camlStd_exit__code_begin'
/tmp/camlstartup942177.o:fake:(.data+0x468): undefined reference to `camlStd_exit__code_end'
/tmp/camlstartup942177.o:fake:(.data+0x480): undefined reference to `caml_system__frametable'
/tmp/camlstartup942177.o:fake:(.data+0x488): undefined reference to `camlPervasives__frametable'
/tmp/camlstartup942177.o:fake:(.data+0x4a0): undefined reference to `camlStd_exit__frametable'
bmodule.o:fake:(.text+0xc): undefined reference to `camlPervasives__print_endline_1257'
amodule.o:fake:(.text+0x8): undefined reference to `camlPervasives__print_endline_1257'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.text+0x1b5): undefined reference to `_caml_exn_End_of_file'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.text+0x493): undefined reference to `_caml_exn_Failure'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.text+0x4d3): undefined reference to `_caml_exn_Invalid_argument'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.text+0xa76): undefined reference to `_caml_exn_End_of_file'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.text+0xb18): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x184): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x194): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x1bc): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x2b0): undefined reference to `_caml_curry4'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x2c0): undefined reference to `_caml_curry4'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x2d0): undefined reference to `_caml_curry4'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x2f8): undefined reference to `_caml_curry3'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x320): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x330): undefined reference to `_caml_curry4'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x340): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x374): undefined reference to `_caml_curry3'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x384): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x3dc): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x404): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x414): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x448): undefined reference to `_caml_curry2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x458): more undefined references to `_caml_curry2' follow
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x524): undefined reference to `_caml_curry3'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7c4): undefined reference to `_fmod'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7cc): undefined reference to `_floor'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7d0): undefined reference to `_ceil'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7d4): undefined reference to `_tanh'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7d8): undefined reference to `_tan'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7dc): undefined reference to `_sqrt'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7e0): undefined reference to `_sinh'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7e4): undefined reference to `_sin'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7ec): undefined reference to `_log10'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7f0): undefined reference to `_log'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7f4): undefined reference to `_cosh'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x7f8): undefined reference to `_cos'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x800): undefined reference to `_atan2'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x804): undefined reference to `_atan'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x808): undefined reference to `_asin'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x80c): undefined reference to `_acos'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x814): undefined reference to `_exp'
C:\OCaml\lib/stdlib.a(pervasives.o):fake:(.data+0x818): undefined reference to `_pow'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x3f9): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x429): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x457): undefined reference to `_atoi'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x560): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x57c): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x86c): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0xa29): undefined reference to `___divdi3'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0xaa6): undefined reference to `___moddi3'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0xde3): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0xe56): undefined reference to `___udivdi3'
C:\OCaml\lib/libasmrun.a(ints.o):ints.c:(.text+0x131a): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(i386.o):fake:(.text+0x119): undefined reference to `_caml_program'
C:\OCaml\lib/libasmrun.a(i386.o):fake:(.text+0x211): undefined reference to `_caml_apply2'
C:\OCaml\lib/libasmrun.a(i386.o):fake:(.text+0x231): undefined reference to `_caml_apply3'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x219): undefined reference to `_caml_exn_Failure'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x230): undefined reference to `_caml_exn_Invalid_argument'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x23f): undefined reference to `_caml_bucket_Out_of_memory'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x24e): undefined reference to `_caml_bucket_Stack_overflow'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x265): undefined reference to `_caml_exn_Sys_error'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x274): undefined reference to `_caml_exn_End_of_file'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x283): undefined reference to `_caml_exn_Division_by_zero'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x292): undefined reference to `_caml_exn_Not_found'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x2a1): undefined reference to `_caml_exn_Sys_blocked_io'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x2d7): undefined reference to `_caml_exn_Invalid_argument'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x326): undefined reference to `_caml_exn_Match_failure'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x32d): undefined reference to `_caml_exn_Assert_failure'
C:\OCaml\lib/libasmrun.a(fail.o):fail.c:(.text+0x334): undefined reference to `_caml_exn_Undefined_recursive_module'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0xbc): undefined reference to `_write'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x149): undefined reference to `__lseeki64'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x1d9): undefined reference to `_close'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x249): undefined reference to `__lseeki64'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x270): undefined reference to `__lseeki64'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x351): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x464): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x47b): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x4b4): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x554): undefined reference to `__lseeki64'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x5c8): undefined reference to `_read'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x5f8): undefined reference to `_read'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x71d): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x73a): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x786): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x882): undefined reference to `__lseeki64'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x90c): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0xafd): undefined reference to `_close'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x1284): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x12aa): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(io.o):io.c:(.text+0x1308): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(str.o):str.c:(.text+0x41d): undefined reference to `_memcmp'
C:\OCaml\lib/libasmrun.a(str.o):str.c:(.text+0x52e): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(str.o):str.c:(.text+0x560): undefined reference to `_memset'
C:\OCaml\lib/libasmrun.a(str.o):str.c:(.text+0x589): undefined reference to `_setlocale'
C:\OCaml\lib/libasmrun.a(str.o):str.c:(.text+0x5a2): undefined reference to `__imp__isprint'
C:\OCaml\lib/libasmrun.a(minor_gc.o):minor_gc.c:(.text+0x56d): undefined reference to `_free'
C:\OCaml\lib/libasmrun.a(minor_gc.o):minor_gc.c:(.text+0x6b7): undefined reference to `_realloc'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x13): undefined reference to `_free'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x241): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x2ce): undefined reference to `_malloc'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x2f9): undefined reference to `_realloc'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x5c3): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x7b7): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x89d): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x9f2): undefined reference to `_memcmp'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x1227): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(intern.o):intern.c:(.text+0x13d7): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(compare.o):compare.c:(.text+0x13): undefined reference to `_free'
C:\OCaml\lib/libasmrun.a(compare.o):compare.c:(.text+0x2a5): undefined reference to `_memcmp'
C:\OCaml\lib/libasmrun.a(compare.o):compare.c:(.text+0x430): undefined reference to `_strcmp'
C:\OCaml\lib/libasmrun.a(compare.o):compare.c:(.text+0x519): undefined reference to `_malloc'
C:\OCaml\lib/libasmrun.a(compare.o):compare.c:(.text+0x548): undefined reference to `_realloc'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0x9f): undefined reference to `_atoi'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0xe1): undefined reference to `_atoi'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0x121): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0x1a6): undefined reference to `_sprintf'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0x267): undefined reference to `___strtod'
C:\OCaml\lib/libasmrun.a(floats.o):floats.c:(.text+0x314): undefined reference to `___strtod'
C:\OCaml\lib/libasmrun.a(weak.o):weak.c:(.text+0x41d): undefined reference to `_memmove'
C:\OCaml\lib/libasmrun.a(major_gc.o):major_gc.c:(.text+0xb8): undefined reference to `_realloc'
C:\OCaml\lib/libasmrun.a(major_gc.o):major_gc.c:(.text+0xb39): undefined reference to `_malloc'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x16f): undefined reference to `_fwrite'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x1bb): undefined reference to `_realloc'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x204): undefined reference to `__imp___findfirst'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x287): undefined reference to `_malloc'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x2a2): undefined reference to `_memcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x2b9): undefined reference to `_strcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x2d1): undefined reference to `__imp___findnext'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x2e3): undefined reference to `__imp___findclose'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x5ae): undefined reference to `_strcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x616): undefined reference to `_strcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x68c): undefined reference to `_flexdll_dlopen'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x6a3): undefined reference to `_flexdll_dump_exports'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x6a8): undefined reference to `__imp___iob'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x6b3): undefined reference to `_fflush'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x6c9): undefined reference to `_flexdll_dlclose'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x73b): undefined reference to `_signal'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x75b): undefined reference to `__imp__SetConsoleCtrlHandler@8'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x7a9): undefined reference to `_malloc'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x863): undefined reference to `_strcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x8bd): undefined reference to `__imp___findfirst'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x93d): undefined reference to `_strcpy'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x961): undefined reference to `__imp___findnext'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x96e): undefined reference to `__imp___findclose'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x98e): undefined reference to `__imp__SetUnhandledExceptionFilter@4'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x9aa): undefined reference to `__imp__GetSystemTimeAsFileTime@4'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x9ba): undefined reference to `__imp__QueryPerformanceCounter@4'
C:\OCaml\lib/libasmrun.a(win32.o):win32.c:(.text+0x9d0): undefined reference to `__imp__GetCurrentProcessId@0'
C:\OCaml\lib/libasmrun.a(parsing.o):parsing.c:(.text+0x4a2): undefined reference to `_fprintf'
C:\OCaml\lib/libasmrun.a(parsing.o):parsing.c:(.text+0x570): undefined reference to `__imp___iob'
C:\OCaml\lib/libasmrun.a(parsing.o):parsing.c:(.text+0x57b): undefined reference to `_fprintf'
C:\OCaml\lib/libasmrun.a(compact.o):compact.c:(.text+0x50d): undefined reference to `_memmove'
/usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../lib/libcygwin.a(libcmain.o): In function `main':
/usr/src/debug/cygwin-1.7.31-2/winsup/cygwin/lib/libcmain.c:39: undefined reference to `WinMain'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking

我不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

如果您想学习OCaml,请不要使用Windows。无论你是否是Windows用户。周期。

话虽如此,i686-w64-mingw32-as是一个汇编程序,它缺失了。您必须仔细阅读OCaml的指令README.win32并安装所需的软件。

对于Cygwin版本的麻烦,我猜你试图将你的Cygwin目标文件与MinGW OCaml安装链接起来。这根本不起作用。也许你的Cygwin OCaml完全被MinGW OCaml的env var搞糊涂了。

我再说一遍。 Windows中的OCaml对于新的leaners来说有很多陷阱。只是避免它。