erlang - 在 Windows 10 上编译 Erlang OTP
问题描述
我必须在 Windows 上构建 Erlang OTP,因为我无法使用预构建的二进制文件。有人有帮助吗?
这目前在装有 Visual Studio 2013 更新 5、Windows SDK 8.1 和 Cygwin 3.0.7 的 Windows 10 虚拟机中运行。
在 cygwin 中运行 otp_build 配置:
$ ./otp_build configure
Copying static configure cache /cygdrive/c/src/otp/erts/autoconf/win64.config.cache.static to /cygdrive/c/src/otp/erts/autoconf/win64.config.cache
/cygdrive/c/src/otp/configure --build=x86_64-unknown-cygwin build_alias=win32 --host=win32 --target=win32 --disable-dynamic-ssl-lib --cache-file=/cygdrive/c/src/otp/erts/autoconf/win64.config.cache CC=cc\.sh CXX=cc\.sh RANLIB=true AR=ar\.sh
configure: loading cache /cygdrive/c/src/otp/erts/autoconf/win64.config.cache
checking for win32-gcc... (cached) cc.sh
checking whether the C compiler works... no
configure: error: in `/cygdrive/c/src/otp':
configure: error: C compiler cannot create executables
See `config.log' for more details
I getting this output in the config.log
## ----------- ##
## Core tests. ##
## ----------- ##
configure:1948: loading cache /cygdrive/c/src/otp/erts/autoconf/win64.config.cache
configure:2272: checking for win32-gcc
configure:2299: result: cc.sh
configure:2568: checking for C compiler version
configure:2577: cc.sh --version >&5
LINK : warning LNK4044: unrecognized option '/-version'; ignored^M
LINK : fatal error LNK1181: cannot open input file 'msvcrt.lib'^M
configure:2588: $? = 157
configure:2577: cc.sh -v >&5
LINK : warning LNK4044: unrecognized option '/v'; ignored^M
LINK : fatal error LNK1181: cannot open input file 'msvcrt.lib'^M
configure:2588: $? = 157
configure:2577: cc.sh -V >&5
LINK : warning LNK4044: unrecognized option '/V'; ignored^M
LINK : fatal error LNK1181: cannot open input file 'msvcrt.lib'^M
configure:2588: $? = 157
configure:2577: cc.sh -qversion >&5
LINK : warning LNK4044: unrecognized option '/qversion'; ignored^M
LINK : fatal error LNK1181: cannot open input file 'msvcrt.lib'^M
configure:2588: $? = 157
configure:2608: checking whether the C compiler works
configure:2630: cc.sh conftest.c >&5
LINK : fatal error LNK1181: cannot open input file 'msvcrt.lib'^M
configure:2634: $? = 157
configure:2672: result: no
configure: failed program was:
| /* confdefs.h */
My LIB and LIBPATH
$ echo $LIB
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/amd64/:/home/sanfordjd/ProgramFile32/WindowsKits/8.1/Lib/winv6.3/um/x64:/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib:/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/amd64:/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/store/:/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/store/amd64
$ echo $LIBPATH
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/amd64/
$ locate msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/amd64/msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/arm/msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/store/amd64/msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/store/arm/msvcrt.lib
/cygdrive/c/MicrosoftVisualStudio12.0/VC/lib/store/msvcrt.lib
/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/amd64/msvcrt.lib
/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/arm/msvcrt.lib
/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/msvcrt.lib
解决方案
推荐阅读
- python - python装饰器和kwargs的正确处理
- python - 检查熊猫中的多值重复
- azure - Azure CLI - az 部署组创建 - SubscriptionNotAuthorizedForImage 错误
- python - 如何从 pandas 数据框列中获取最多重复的行
- java - 使用 SwipeRefresh Layout 获取重复的卡片视图
- typescript - 接受两种文字类型的字符串 VS 联合
- c++ - 类函数不带参数
- sql - SQL Server 中的高级将行转换为列(数据透视)
- javascript - 为什么我的 ace.js 美化器没有按预期工作?
- google-sheets - Google 表格分箱和分组依据(自定义时间间隔)