在Windows上构建Ruby并使用conftest.c

时间:2015-07-09 15:02:16

标签: ruby windows clang

我正在尝试使用clang在Windows上构建Ruby。它使用Microsoft编译器构建得很好,但是当我替换clang时,configure阶段失败并出现以下错误:

C:\ruby-2.2.2\win32\build40>..\configure.bat
conftest.c(2,2) :  error:
#error
 ^
1 error generated.
clang-cl.exe: warning: Creating verconf.mk: 'linker' input unused
clang-cl.exe: warning: argument unused during compilation: '-I ../..'
clang-cl.exe: warning: argument unused during compilation: '-I ../../include'
NMAKE : fatal error U1077: 'cl' : return code '0x1'
Stop.

下一步是查看conftest.c以尝试查看正在发生的事情,但是在整个硬盘上搜索时找不到该名称的文件,并且在配置期间发出的所有命令的日志都没有删除很轻。这是怎么回事,我如何获得conftest.c的副本?

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/433633?433552-433636

进一步讨论

1 个答案:

答案 0 :(得分:1)

好吧,如果我不得不猜测,conftest.cnmake为测试环境而创建的临时文件,问题是nmake找不到cl尝试运行该测试时(应该由clang-cl替换)。

检查Ruby配置脚本的内部。我打赌你会发现导致nmake寻找cl而不是clang-cl的内容。但我不确定。

我知道在使用clang工具链中的mingw64构建Ruby时,我在使任何链接器正常工作时遇到了大量麻烦。这真是太好了。