请问Java的开发套件JDK8U341是否不支持Windows10了?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问Java的开发套件JDK8U341是否不支持Windows10了?相关的知识,希望对你有一定的参考价值。
右键jdk8安装文件的属性看到兼容性不包含Windows10,是不是就不支持了?
。。。。你这个问题,怎么回答呢。Windows兼容模式是指在Windows中为程序提供了的兼容模式,是为了旧版的软件能在新框架内运行而设置的
这个和JDK无关。这个是windows的兼容模式。windows没有出window10的兼容,目前来说也不需要出,因为两个没区别。
建议学java之前先把计算机操作基础学明白追问
为什么双击jdk安装文件以后,不能安装jdk呢?
参考技术A 为什么win10不能安装Java?win10java的最新版本已下载多次,但无法安装。什么也做不了。请教我! 参考技术B 为什么win10不能安装Java?win10java的最新版本已下载多次,但无法安装。什么也做不了。请教我! 参考技术C 看上去是版本不对 你去http://www.***.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html 下一个windows 64位的jdk8安装 参考技术D 看上去是版本不对 你去http://www.***.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html 下一个windows 64位的jdk8安装mingw64 的 gcc 不使用 mingw 套件的汇编程序
【中文标题】mingw64 的 gcc 不使用 mingw 套件的汇编程序【英文标题】:gcc from mingw64 doesn't use assembler from mingw suite 【发布时间】:2018-10-14 04:27:36 【问题描述】:我尝试使用 cygwin 下的 MinGW v6.4.0 进行编译。失败是因为i686-w64-mingw32-gcc
使用as
作为汇编编译器而不是i686-w64-mingw32-as
。
根据详细输出:
$ i686-w64-mingw32-gcc -Wall -O2 -D_WINDOWS -DWIN32S_COMPAT -DFDJ1 -DAUTO_WINSOCK -DUSE_CAPI -DCOVERITY -DPERSOPORT -DCYGTERMPORT -DIMAGEPORT -DRECONNECTPORT -DHYPERLINKPORT -DZMODEMPORT -DSTARTBUTTON -DLAUNCHERPORT -DSAVEDUMPPORT -DKEYMAPPINGPORT -DWINCRYPTPORT -DTUTTYPORT -DPORTKNOCKINGPORT -DPUTTYXPORT -DWTSPORT -DPRINTCLIPPORT -DRUTTYPORT -DDISABLEALTGRPORT -DADBPORT -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP -I.././ -I../../ -I../charset/ -I../windows/ -I../unix/ -I../mac/ -I../macosx -I../../base64 -I../../bcrypt -I../../md5 -I../../regex -I../../url -I../../wincrypt -I../../rutty -D_WIN32_IE=0x0500 -DWINVER=0x0501 -D_WIN32_WINDOWS=0x0410 -D_WIN32_WINNT=0x0501 -v -c ../be_misc.c
Using built-in specs.
COLLECT_GCC=i686-w64-mingw32-gcc
Target: i686-w64-mingw32
Configured with: /cygdrive/i/szsz/tmpp/cygwin64/mingw64-i686/mingw64-i686-gcc-6.4.0-1.x86_64/src/gcc-6.4.0/configure --srcdir=/cygdrive/i/szsz/tmpp/cygwin64/mingw64-i686/mingw64-i686-gcc-6.4.0-1.x86_64/src/gcc-6.4.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/mingw64-i686-gcc --htmldir=/usr/share/doc/mingw64-i686-gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=i686-w64-mingw32 --without-libiconv-prefix --without-libintl-prefix --with-sysroot=/usr/i686-w64-mingw32/sys-root --with-build-sysroot=/usr/i686-w64-mingw32/sys-root --disable-multilib --disable-win32-registry --enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-fully-dynamic-string --enable-graphite --enable-libgomp --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-version-specific-runtime-libs --with-dwarf2 --with-gnu-ld --with-gnu-as --with-tune=generic --with-cloog-include=/usr/include/cloog-isl --with-system-zlib --enable-threads=posix --libexecdir=/usr/lib
Thread model: posix
gcc version 6.4.0 (GCC)
COLLECT_GCC_OPTIONS='-Wall' '-O2' '-D' '_WINDOWS' '-D' 'WIN32S_COMPAT' '-D' 'FDJ1' '-D' 'AUTO_WINSOCK' '-D' 'USE_CAPI' '-D' 'COVERITY' '-D' 'PERSOPORT' '-D' 'CYGTERMPORT' '-D' 'IMAGEPORT' '-D' 'RECONNECTPORT' '-D' 'HYPERLINKPORT' '-D' 'ZMODEMPORT' '-D' 'STARTBUTTON' '-D' 'LAUNCHERPORT' '-D' 'SAVEDUMPPORT' '-D' 'KEYMAPPINGPORT' '-D' 'WINCRYPTPORT' '-D' 'TUTTYPORT' '-D' 'PORTKNOCKINGPORT' '-D' 'PUTTYXPORT' '-D' 'WTSPORT' '-D' 'PRINTCLIPPORT' '-D' 'RUTTYPORT' '-D' 'DISABLEALTGRPORT' '-D' 'ADBPORT' '-D' '_NO_OLDNAMES' '-D' 'NO_MULTIMON' '-D' 'NO_HTMLHELP' '-I' '.././' '-I' '../../' '-I' '../charset/' '-I' '../windows/' '-I' '../unix/' '-I' '../mac/' '-I' '../macosx' '-I' '../../base64' '-I' '../../bcrypt' '-I' '../../md5' '-I' '../../regex' '-I' '../../url' '-I' '../../wincrypt' '-I' '../../rutty' '-D' '_WIN32_IE=0x0500' '-D' 'WINVER=0x0501' '-D' '_WIN32_WINDOWS=0x0410' '-D' '_WIN32_WINNT=0x0501' '-v' '-c' '-mtune=generic' '-march=pentiumpro'
/bin/../lib/gcc/i686-w64-mingw32/6.4.0/cc1.exe -quiet -v -I .././ -I ../../ -I ../charset/ -I ../windows/ -I ../unix/ -I ../mac/ -I ../macosx -I ../../base64 -I ../../bcrypt -I ../../md5 -I ../../regex -I ../../url -I ../../wincrypt -I ../../rutty -iprefix /bin/../lib/gcc/i686-w64-mingw32/6.4.0/ -D_REENTRANT -D _WINDOWS -D WIN32S_COMPAT -D FDJ1 -D AUTO_WINSOCK -D USE_CAPI -D COVERITY -D PERSOPORT -D CYGTERMPORT -D IMAGEPORT -D RECONNECTPORT -D HYPERLINKPORT -D ZMODEMPORT -D STARTBUTTON -D LAUNCHERPORT -D SAVEDUMPPORT -D KEYMAPPINGPORT -D WINCRYPTPORT -D TUTTYPORT -D PORTKNOCKINGPORT -D PUTTYXPORT -D WTSPORT -D PRINTCLIPPORT -D RUTTYPORT -D DISABLEALTGRPORT -D ADBPORT -D _NO_OLDNAMES -D NO_MULTIMON -D NO_HTMLHELP -D _WIN32_IE=0x0500 -D WINVER=0x0501 -D _WIN32_WINDOWS=0x0410 -D _WIN32_WINNT=0x0501 ../be_misc.c -quiet -dumpbase be_misc.c -mtune=generic -march=pentiumpro -auxbase be_misc -O2 -Wall -version -o C:\Users\kot\AppData\Local\Temp/ccTGGBtt.s
GNU C11 (GCC) version 6.4.0 (i686-w64-mingw32)
compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5-p10, MPC version 1.0.3, isl version 0.14 or 0.13
...
COLLECT_GCC_OPTIONS='-Wall' '-O2' '-D' '_WINDOWS' '-D' 'WIN32S_COMPAT' '-D' 'FDJ1' '-D' 'AUTO_WINSOCK' '-D' 'USE_CAPI' '-D' 'COVERITY' '-D' 'PERSOPORT' '-D' 'CYGTERMPORT' '-D' 'IMAGEPORT' '-D' 'RECONNECTPORT' '-D' 'HYPERLINKPORT' '-D' 'ZMODEMPORT' '-D' 'STARTBUTTON' '-D' 'LAUNCHERPORT' '-D' 'SAVEDUMPPORT' '-D' 'KEYMAPPINGPORT' '-D' 'WINCRYPTPORT' '-D' 'TUTTYPORT' '-D' 'PORTKNOCKINGPORT' '-D' 'PUTTYXPORT' '-D' 'WTSPORT' '-D' 'PRINTCLIPPORT' '-D' 'RUTTYPORT' '-D' 'DISABLEALTGRPORT' '-D' 'ADBPORT' '-D' '_NO_OLDNAMES' '-D' 'NO_MULTIMON' '-D' 'NO_HTMLHELP' '-I' '.././' '-I' '../../' '-I' '../charset/' '-I' '../windows/' '-I' '../unix/' '-I' '../mac/' '-I' '../macosx' '-I' '../../base64' '-I' '../../bcrypt' '-I' '../../md5' '-I' '../../regex' '-I' '../../url' '-I' '../../wincrypt' '-I' '../../rutty' '-D' '_WIN32_IE=0x0500' '-D' 'WINVER=0x0501' '-D' '_WIN32_WINDOWS=0x0410' '-D' '_WIN32_WINNT=0x0501' '-v' '-c' '-mtune=generic' '-march=pentiumpro'
as -v -I .././ -I ../../ -I ../charset/ -I ../windows/ -I ../unix/ -I ../mac/ -I ../macosx -I ../../base64 -I ../../bcrypt -I ../../md5 -I ../../regex -I ../../url -I ../../wincrypt -I ../../rutty -o be_misc.o C:\Users\kot\AppData\Local\Temp/ccTGGBtt.s
GNU assembler version 2.29.1 (x86_64-pc-cygwin) using BFD version (GNU Binutils) 2.29.1.20171006
C:\Users\kot\AppData\Local\Temp/ccTGGBtt.s: Assembler messages:
汇编消息并不重要。失败是因为 x86_64 汇编器用于编译 x86 代码。
在日志消息中,我可以看到 gcc 是使用 --with-gnu-as
标志编译的。并且在构建过程中使用标准的as
命令。
那么,问题是:如何在构建过程中指定正确的汇编器 (i686-w64-mingw32-gcc
)?
还有一个问题:这个来自 cygwin 或 mingw 的 bug 应该报告吗?
我尝试通过环境变量AS
指定汇编程序命令,但它不起作用。
我发现了类似的问题/讨论:
How to make gcc show the internal commands called? https://sourceforge.net/p/mingw-w64/discussion/723798/thread/ec84cb84但他们没有给出任何可接受的答案。我不想重建 mingw 套件。
目前,我看到以下解决方法:创建一些临时目录并在那里添加符号链接 as
,它指向 i686-w64-mingw32-gcc
。然后我可以将选项 -Bprefix
传递给 gcc 以指定它查找二进制文件的位置。
更新:
$ i686-w64-mingw32-gcc --version --verbose
输出:
Using built-in specs.
COLLECT_GCC=i686-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/bin/../lib/gcc/i686-w64-mingw32/6.4.0/lto-wrapper.exe
i686-w64-mingw32-gcc (GCC) 6.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Target: i686-w64-mingw32
Configured with: /cygdrive/i/szsz/tmpp/cygwin64/mingw64-i686/mingw64-i686-gcc-6.4.0-1.x86_64/src/gcc-6.4.0/configure --srcdir=/cygdrive/i/szsz/tmpp/cygwin64/mingw64-i686/mingw64-i686-gcc-6.4.0-1.x86_64/src/gcc-6.4.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/mingw64-i686-gcc --htmldir=/usr/share/doc/mingw64-i686-gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=i686-w64-mingw32 --without-libiconv-prefix --without-libintl-prefix --with-sysroot=/usr/i686-w64-mingw32/sys-root --with-build-sysroot=/usr/i686-w64-mingw32/sys-root --disable-multilib --disable-win32-registry --enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-fully-dynamic-string --enable-graphite --enable-libgomp --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-version-specific-runtime-libs --with-dwarf2 --with-gnu-ld --with-gnu-as --with-tune=generic --with-cloog-include=/usr/include/cloog-isl --with-system-zlib --enable-threads=posix --libexecdir=/usr/lib
Thread model: posix
gcc version 6.4.0 (GCC)
COLLECT_GCC_OPTIONS='--version' '-v' '-mtune=generic' '-march=pentiumpro'
/bin/../lib/gcc/i686-w64-mingw32/6.4.0/cc1.exe -quiet -v -iprefix /bin/../lib/gcc/i686-w64-mingw32/6.4.0/ -D_REENTRANT help-dummy -quiet -dumpbase help-dummy -mtune=generic -march=pentiumpro -auxbase help-dummy -version --version -o C:\Users\kot\AppData\Local\Temp/ccC3uqbG.s
GNU C11 (GCC) version 6.4.0 (i686-w64-mingw32)
compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5-p10, MPC version 1.0.3, isl version 0.14 or 0.13
warning: MPFR header version 3.1.5-p10 differs from library version 3.1.6-p1.
warning: MPC header version 1.0.3 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='--version' '-v' '-mtune=generic' '-march=pentiumpro'
as -v --version -o C:\Users\kot\AppData\Local\Temp/ccpT4jBG.o C:\Users\kot\AppData\Local\Temp/ccC3uqbG.s
GNU assembler version 2.29.1 (x86_64-pc-cygwin) using BFD version (GNU Binutils) 2.29.1.20171006
GNU assembler (GNU Binutils) 2.29.1.20171006
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-pc-cygwin'.
COMPILER_PATH=/bin/../lib/gcc/i686-w64-mingw32/6.4.0/:/bin/../lib/gcc/
LIBRARY_PATH=/bin/../lib/gcc/i686-w64-mingw32/6.4.0/:/bin/../lib/gcc/:/usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/:/usr/i686-w64-mingw32/sys-root/mingw/lib/
COLLECT_GCC_OPTIONS='--version' '-v' '-mtune=generic' '-march=pentiumpro'
/bin/../lib/gcc/i686-w64-mingw32/6.4.0/collect2.exe -plugin /bin/../lib/gcc/i686-w64-mingw32/6.4.0/cyglto_plugin-0.dll -plugin-opt=/bin/../lib/gcc/i686-w64-mingw32/6.4.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\kot\AppData\Local\Temp/cc1gm609.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/usr/i686-w64-mingw32/sys-root -m i386pe -Bdynamic --version /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o /bin/../lib/gcc/i686-w64-mingw32/6.4.0/crtbegin.o -L/bin/../lib/gcc/i686-w64-mingw32/6.4.0 -L/bin/../lib/gcc -L/usr/i686-w64-mingw32/sys-root/mingw/lib/../lib -L/usr/i686-w64-mingw32/sys-root/mingw/lib C:\Users\kot\AppData\Local\Temp/ccpT4jBG.o -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/default-manifest.o /bin/../lib/gcc/i686-w64-mingw32/6.4.0/crtend.o
collect2 version 6.4.0
/bin/i686-w64-mingw32-ld -plugin /bin/../lib/gcc/i686-w64-mingw32/6.4.0/cyglto_plugin-0.dll -plugin-opt=/bin/../lib/gcc/i686-w64-mingw32/6.4.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\kot\AppData\Local\Temp/cc1gm609.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt --sysroot=/usr/i686-w64-mingw32/sys-root -m i386pe -Bdynamic --version /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o /bin/../lib/gcc/i686-w64-mingw32/6.4.0/crtbegin.o -L/bin/../lib/gcc/i686-w64-mingw32/6.4.0 -L/bin/../lib/gcc -L/usr/i686-w64-mingw32/sys-root/mingw/lib/../lib -L/usr/i686-w64-mingw32/sys-root/mingw/lib C:\Users\kot\AppData\Local\Temp/ccpT4jBG.o -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/default-manifest.o /bin/../lib/gcc/i686-w64-mingw32/6.4.0/crtend.o
GNU ld (GNU Binutils) 2.29.1.20171006
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
COLLECT_GCC_OPTIONS='--version' '-v' '-mtune=generic' '-march=pentiumpro'
$ i686-w64-mingw32-as --version -v
输出:
GNU assembler (GNU Binutils) 2.29.1.20171006
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `i686-w64-mingw32'.
$ x86_64-w64-mingw32-as --version -v
输出:
GNU assembler (GNU Binutils) 2.29.1.20171006
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-w64-mingw32'.
【问题讨论】:
你安装了mingw64-i686-binutils
吗? --version --verbose
报告的 COMPILER_PATH
的值是多少?
cygwin 软件包 mingw64-i686-binutils
已安装。添加了详细版本检查的输出。
【参考方案1】:
来自mingw64-i686-gcc-core 6.4.0-1的输出
$ i686-w64-mingw32-gcc --version --verbose |& grep COMPILER_PATH COMPILER_PATH=/usr/lib/gcc/i686-w64-mingw32/6.4.0/:/usr/lib/gcc/i686-w64-mingw32/6.4.0/:/usr/lib/gcc/i686-w64-mingw32 /:/usr/lib/gcc/i686-w64-mingw32/6.4.0/:/usr/lib/gcc/i686-w64-mingw32/:/usr/lib/gcc/i686-w64-mingw32/6.4.0 /../../../../i686-w64-mingw32/bin/
最后一个目录是/usr/i686-w64-mingw32/bin
,正确的 binutils 所在的位置。
$ cygcheck -l mingw64-i686-binutils | grep "/bin/"
/usr/bin/i686-w64-mingw32-addr2line.exe
/usr/bin/i686-w64-mingw32-ar.exe
/usr/bin/i686-w64-mingw32-as.exe
/usr/bin/i686-w64-mingw32-c++filt.exe
/usr/bin/i686-w64-mingw32-dlltool.exe
/usr/bin/i686-w64-mingw32-dllwrap.exe
/usr/bin/i686-w64-mingw32-elfedit.exe
/usr/bin/i686-w64-mingw32-gprof.exe
/usr/bin/i686-w64-mingw32-ld.bfd.exe
/usr/bin/i686-w64-mingw32-ld.exe
/usr/bin/i686-w64-mingw32-nm.exe
/usr/bin/i686-w64-mingw32-objcopy.exe
/usr/bin/i686-w64-mingw32-objdump.exe
/usr/bin/i686-w64-mingw32-ranlib.exe
/usr/bin/i686-w64-mingw32-readelf.exe
/usr/bin/i686-w64-mingw32-size.exe
/usr/bin/i686-w64-mingw32-strings.exe
/usr/bin/i686-w64-mingw32-strip.exe
/usr/bin/i686-w64-mingw32-windmc.exe
/usr/bin/i686-w64-mingw32-windres.exe
/usr/i686-w64-mingw32/bin/ar.exe
/usr/i686-w64-mingw32/bin/as.exe
/usr/i686-w64-mingw32/bin/dlltool.exe
/usr/i686-w64-mingw32/bin/ld.bfd.exe
/usr/i686-w64-mingw32/bin/ld.exe
/usr/i686-w64-mingw32/bin/nm.exe
/usr/i686-w64-mingw32/bin/objcopy.exe
/usr/i686-w64-mingw32/bin/objdump.exe
/usr/i686-w64-mingw32/bin/ranlib.exe
/usr/i686-w64-mingw32/bin/readelf.exe
/usr/i686-w64-mingw32/bin/strip.exe
【讨论】:
是的。将-B/usr/i686-w64-mingw32/bin
选项添加到i686-w64-mingw32-gcc
有效。以上是关于请问Java的开发套件JDK8U341是否不支持Windows10了?的主要内容,如果未能解决你的问题,请参考以下文章
Java SE Development Kit8(jdk8) 8u144
求 Java SE Development Kit8(jdk8)下载32/64位 8u144