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

时间:2022-08-16 07:10:37

I'm using Windows 7 64x and in my next semester, I'll have OCaml as main language in one of my lectures and I am more of a "Windows" person (I have windows version and cygwin-based version). So I decided to go over this tutorial.

我正在使用Windows 764x,在下个学期,我将在我的一节课中使用OCaml作为主要语言,我更像是一个“Windows”人(我有Windows版本和基于cygwin的版本)。所以我决定看一下这个教程。

Now here's the problem: I've created files amodule.ml and bmodule.ml as specified in the link. However, when I'm trying to execute following lines on the commandline:

现在的问题是:我已经创建了文件模型。毫升和bmodule。在链接中指定的ml。但是,当我尝试在命令行上执行以下命令时:

ocamlopt -c amodule.ml

I get following error:

我得到以下错误:

'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

And almost the same error comes with bmodule.ml and using the last line:

几乎同样的错误出现在bmodule中。ml,使用最后一行:

ocamlopt -o hello amodule.cmx bmodule.cmx

After doing that - I get two new files named amodule.cmi and bmodule.cmi. However, if I try doing compiling using cygwin version, I get no errors (I get both amodule.cmi and amodule.cmx - same with bmodule).

这样做之后,我得到两个名为阿莫多勒的新文件。cmi和bmodule.cmi。但是,如果我尝试使用cygwin版本进行编译,我不会得到任何错误(我得到两个阿米巴。cmi和amodule。cmx -与bmodule相同)。

However with last line in cygwin I get tons of errors:

但是在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

And I have no idea what to do.

我也不知道该怎么做。

1 个解决方案

#1


3  

If you want to learn OCaml, do not use Windows. No matter whether you are a Windows person or not. Period.

如果你想学习OCaml,不要使用Windows。不管你是否是Windows人。时期。

With that said, i686-w64-mingw32-as is an assembler and it is missing. You must read OCaml's instruction README.win32 carefully and install required softwares.

也就是说,i686-w64-mingw32-as是一个汇编器,它丢失了。你必须阅读OCaml的说明书。小心安装所需的软件。

For the trouble of Cygwin version, I guess you are trying to link your Cygwin object files with MinGW OCaml installation. This wont work at all. Maybe your Cygwin OCaml is totally confused by the env var for MinGW OCaml.

对于Cygwin版本的麻烦,我猜您正在尝试将Cygwin对象文件与MinGW OCaml安装连接起来。这根本行不通。也许你的Cygwin OCaml完全被env var混淆了。

I repeat. OCaml in Windows has so many pit falls for new leaners. Just avoid it.

我再说一遍。在窗户上的OCaml有太多的坑,为新的leaners。避免它。

#1


3  

If you want to learn OCaml, do not use Windows. No matter whether you are a Windows person or not. Period.

如果你想学习OCaml,不要使用Windows。不管你是否是Windows人。时期。

With that said, i686-w64-mingw32-as is an assembler and it is missing. You must read OCaml's instruction README.win32 carefully and install required softwares.

也就是说,i686-w64-mingw32-as是一个汇编器,它丢失了。你必须阅读OCaml的说明书。小心安装所需的软件。

For the trouble of Cygwin version, I guess you are trying to link your Cygwin object files with MinGW OCaml installation. This wont work at all. Maybe your Cygwin OCaml is totally confused by the env var for MinGW OCaml.

对于Cygwin版本的麻烦,我猜您正在尝试将Cygwin对象文件与MinGW OCaml安装连接起来。这根本行不通。也许你的Cygwin OCaml完全被env var混淆了。

I repeat. OCaml in Windows has so many pit falls for new leaners. Just avoid it.

我再说一遍。在窗户上的OCaml有太多的坑,为新的leaners。避免它。