【问题标题】:Building Rebol3 in Windows在 Windows 中构建 Rebol3
【发布时间】:2013-07-17 10:29:25
【问题描述】:

我正在尝试通过 vcbuild.bat 在 Windows 中构建 Rebol3(它是为了工作),并收到 unresolved externals 错误。这是进程中的一个 sn-p,错误发生在底部。

<snip for brevity...>

host-lib.c
dev-stdio.c
dev-event.c
dev-file.c
dev-clipboard.c
        link.exe /nologo /DEBUG /RELEASE /opt:ref /opt:icf /LTCG objs/a-constant
s.obj objs/a-globals.obj objs/a-lib.obj objs/b-boot.obj  objs/b-init.obj objs/c-
do.obj objs/c-error.obj objs/c-frame.obj  objs/c-function.obj objs/c-port.obj ob
js/c-task.obj objs/c-word.obj  objs/d-crash.obj objs/d-dump.obj objs/d-print.obj
 objs/f-blocks.obj  objs/f-deci.obj objs/f-enbase.obj objs/f-extension.obj objs/
f-math.obj  objs/f-modify.obj objs/f-random.obj objs/f-round.obj objs/f-series.o
bj  objs/f-stubs.obj objs/l-scan.obj objs/l-types.obj objs/m-gc.obj  objs/m-pool
s.obj objs/m-series.obj objs/n-control.obj objs/n-data.obj  objs/n-io.obj objs/n
-loop.obj objs/n-math.obj objs/n-sets.obj  objs/n-strings.obj objs/n-system.obj
objs/p-clipboard.obj objs/p-console.obj  objs/p-dir.obj objs/p-dns.obj objs/p-ev
ent.obj objs/p-file.obj  objs/p-net.obj objs/s-cases.obj objs/s-crc.obj objs/s-f
ile.obj  objs/s-find.obj objs/s-make.obj objs/s-mold.obj objs/s-ops.obj  objs/s-
trim.obj objs/s-unicode.obj objs/t-bitset.obj objs/t-block.obj  objs/t-char.obj
objs/t-datatype.obj objs/t-date.obj objs/t-decimal.obj  objs/t-event.obj objs/t-
function.obj objs/t-gob.obj objs/t-image.obj  objs/t-integer.obj objs/t-logic.ob
j objs/t-map.obj objs/t-money.obj  objs/t-none.obj objs/t-object.obj objs/t-pair
.obj objs/t-port.obj  objs/t-string.obj objs/t-time.obj objs/t-tuple.obj objs/t-
typeset.obj  objs/t-utype.obj objs/t-vector.obj objs/t-word.obj objs/u-bmp.obj
objs/u-compress.obj objs/u-dialect.obj objs/u-gif.obj objs/u-jpg.obj  objs/u-md5
.obj objs/u-parse.obj objs/u-png.obj objs/u-sha1.obj  objs/u-zlib.obj objs/host-
main.obj objs/host-args.obj objs/host-device.obj objs/host-stdio.obj  objs/dev-n
et.obj objs/dev-dns.obj objs/host-lib.obj  objs/dev-stdio.obj objs/dev-event.obj
 objs/dev-file.obj  objs/dev-clipboard.obj user32.lib ws2_32.lib advapi32.lib sh
ell32.lib comdlg32.lib /PDB:r3.pdb /OUT:r3.exe /SUBSYSTEM:WINDOWS
   Creating library r3.lib and object r3.exp
f-math.obj : error LNK2001: unresolved external symbol _signbit
r3.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BI
N\link.exe"' : return code '0x460'
Stop.
C:\r3\make>

我从here 获得了 r3 存储库的副本,我正在使用 MSVS 2010,它使用“Microsoft (R) 32-bit C/C++ Optmizing Compiler Version 16.00.30319.01 for 80x86”,以防万一。

make prep(带有make的Win32版)错误与

REBOL System Error #1405: REBOL System Error

Program terminated abnormally.
This should never happen.
Please contact www.REBOL.com with details.

我做错了什么?问题的根源是什么?有解决办法吗?

【问题讨论】:

  • 请注意,尽管vcbuild.bat 包含在主线 R3 存储库中,但 MSVC 目前不是官方支持的构建平台。目前只有 GCC/MinGW。 vcbuild.bat 是用户贡献的补充,目前仅作为对那些有兴趣使用 MSVC 进行构建的人的“建议”。
  • @earl - 嗯。没有意识到。稍后我会尝试使用 MinGW 方法。

标签: rebol rebol3


【解决方案1】:

对于解决方法*,在 f-math.c 中的最后一个 #include 之后包含以下内容

#include <float.h>
int signbit(double x) {
    return (x == 0) ? _fpclass(x) & _FPCLASS_NZ : x < 0;
}

但请注意,如果您想尝试一下,只需稍作修改,您将无法在 mingw 下编译。

* 来自 Rebol 和 Red 聊天 some time ago

【讨论】:

  • 这使您可以使用vcbuild.bat 构建(生成的r3.exe 然后错误,但这是一个单独的问题)。
  • 嗯,没关系;您链接的那个线程遇到了同样的直接问题。在再次编译之前,我只需要跳转到cygwin 并运行make clean
猜你喜欢
  • 2015-05-28
  • 1970-01-01
  • 2012-04-16
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
相关资源
最近更新 更多