最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2023 編譯Windows JDK8(親測(cè)有效)

2023-07-23 14:46 作者:xiao_bang  | 我要投稿



  1. 安裝JDK8,Cygwin,VS2010,freetype

  2. 下載jdk源碼

  3. 配置

  4. 編譯

一.安裝Boostrap JDK

先有母雞,才有蛋

要想編譯jdk8,首先得有jdk8。很明顯,這是一只母雞,我們需要它來下蛋。

建議使用鏡像下載站安裝jdk8

https://mirrors.huaweicloud.com/java/jdk/此處使用華為云的jdk鏡像

選擇jdk8啥版本都可以,下載后安裝,配置環(huán)境變量

二.安裝Cygwin

https://www.cygwin.com

下載安裝,一路下一步,安裝路徑不要含有空格和中文


選擇清華鏡像(https://mirrors.tuna.tsinghua.edu.cn),下一步

選擇完整,搜索并安裝如下包

binutils,cpio,mercurial,zip,unzip,make,m4,procps-ng

安裝完下一步

三.安裝Visual Studio 2010英文版,(PowerISO)

由于VS2010過于久遠(yuǎn),所以目前VS2010直接安裝包并不可用(微軟下載服務(wù)器域名更換)

所以使用iso鏡像的方法來安裝。

首先下載VS2010的ISO鏡像,什么版本的都可以

https://my.visualstudio.com/Downloads?q=visual studio 2010

使用微軟官方下載(需要登錄微軟賬號(hào))


此處選擇Visual Studio Professional 2010(2.189GB),點(diǎn)擊下載

得到一個(gè)iso鏡像,并用PowerISO掛載到一個(gè)盤,雙擊盤符

自動(dòng)打開安裝界面(如果沒有,請(qǐng)手動(dòng)點(diǎn)擊盤里面的setup.exe)

圖中為Visual Studio?Uitimate 2010(來源與互聯(lián)網(wǎng))

點(diǎn)擊安裝
取消勾選
同意協(xié)議


勾選Custom

安裝目錄不要含有空格和中文

最后僅勾選C++就可以了

四.獲取freetype

https://github.com/ubawurinna/freetype-windows-binaries/releases

此處是已編譯好的freetype

選擇最新releases下載,解壓后將文件夾下對(duì)應(yīng)電腦架構(gòu)的文件夾名稱改為lib

例如:freetype/release dll/win64改為lib,建議把lib文件夾復(fù)制出release dll文件夾放在freetype目錄下。

五.獲取JDK源碼

打開Cygwin,在終端 輸入

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u/

下載最新OpenJDK jdk8u源碼到j(luò)dk8u目錄

cd jdk8u/

進(jìn)入jdk目錄

ls

檢查一下文件是否完整

sh ./get_source.sh

獲取完整源碼

這一步不能省略,過程可中斷,下一次執(zhí)行自動(dòng)下一步

執(zhí)行完這里可能會(huì)出現(xiàn)這個(gè)情況,這個(gè)應(yīng)該不是網(wǎng)絡(luò)的問題,我試了很多次都這樣,這導(dǎo)致jdk根目錄下jdk文件夾的丟失。如果你直接忽略該步驟,將在編譯過程中出現(xiàn)該錯(cuò)誤


理智方法:借助wsl在linux執(zhí)行g(shù)et_source.sh后復(fù)制jdk8u文件夾到Windows(√)

什么是理智

(打開瀏覽器https://hg.openjdk.org/jdk8u/jdk8u/jdk/archive/tip.zip下載(建議魔法)

并解壓到j(luò)dk根目錄就可以解決了)

六.?配置文件

chmod +x ./configure

賦予文件執(zhí)行權(quán)限

./configure --with-freetype=/cygdrive/e/freetype?--with-target-bits=64 --enable-debug

參數(shù):

--with-freetype=freetype位置,替換成你自己的

--with-target-bits=目標(biāo)架構(gòu)(64,86)

--enable-debug?開啟調(diào)試模式


配置成功

七.編譯器前的準(zhǔn)備


接下來是一個(gè)不斷試錯(cuò)和改錯(cuò)的過程。

在jdk根目錄,終端輸入make all(全量編譯),然后直接報(bào)錯(cuò)。

以下是各種報(bào)錯(cuò)的解決方法(按順序來的)

1.?中文亂碼,可以用記事本或notepad--等打開jdk8u/build/windows-x86_64-normal-server-fastdebug/build.log查看

2.?‘xxxx’?不是內(nèi)部或外部命令,也不是可運(yùn)行的程序

若終端輸出如上內(nèi)容,則說明是vc環(huán)境變量有問題,說實(shí)話,這就是個(gè)坑

由于Microsoft SDKs這個(gè)文件夾中間有個(gè)空格的原因,導(dǎo)致無法正常獲取sdks

解決方法,就是更改該文件夾的名稱。

編輯jdk8u/build/windows-x86_64-normal-server-fastdebug/vs-env/set-vs-env.sh

如上

檢查一下有沒有路徑中含有空格的(除了Program Files之類)

結(jié)果一眼就看到了Microsoft SDKs,把整個(gè)文件中的Microsoft SDKs替換成MicrosoftSDKs(隨便)

并實(shí)際去修改這個(gè)文件夾的名稱(這可能會(huì)導(dǎo)致部分程序無法正常使用,你可以復(fù)制Microsoft SDKs后再改名)

另外還需要應(yīng)用一下這個(gè)配置,所以

編輯jdk8u\common\autoconf\generated-configure.sh

查找”Trying to extract Visual Studio environment variables

在下面幾行找到”cmd /c extract-vs-env.bat | $CAT”一行.在前面加上#注釋掉


最后執(zhí)行第六個(gè)步驟

看到這個(gè)就說明配置成功

其他也是類似的情況,把路徑中有空格的文件夾名空格去掉就好了

3.error C2220: warning treated as error - no object file generated

詳見:https://learn.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-1/compiler-error-c2220

由于編譯cpp過程中,使用/WX的選項(xiàng),編譯器將所有的警告視為了錯(cuò)誤(坑啊),關(guān)掉,關(guān)掉,必須關(guān)掉。

編輯jdk8u\hotspot\make\windows\makefiles\compile.make

查找/WX,找到

這一行,并去掉 /WX.如果要忽略所有警告,把/W3改為/W0

八.全量編譯

make all


用時(shí)13分鐘,編譯成功

jdk8u\build\windows-x86_64-normal-server-fastdebug\images


jre和jdk


j2re-image這個(gè)就是jre,j2sdk-image就是jdk,可以直接使用


java版本信息部分可以在jdk8u\hotspot\make\hotspot_version更改

九.?增量編譯

jdk8u\jdk\src\share目錄下,就是各個(gè)Java包的源碼,可以隨意查看和更改。

更改完在終端輸入make images進(jìn)行增量編譯(兩分鐘左右)

十.小芝士

PROGRA~1:Program Files

PROGRA~2:Program Files (x86)

MICROS~1:? ??Microsoft

It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory).

Note that while it's possible to build on WSL, testing is still not fully supported.

????????????????????????????????????????????????????????????????????????????????????????????????----------Building the JDK Doc



2023 編譯Windows JDK8(親測(cè)有效)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
丹东市| 萨嘎县| 囊谦县| 宣城市| 安达市| 镇远县| 巴彦县| 手游| 黔江区| 罗山县| 依兰县| 内乡县| 伊春市| 西乌珠穆沁旗| 红原县| 调兵山市| 手机| 吉林市| 灵川县| 巴南区| 澜沧| 衡水市| 鹤峰县| 中方县| 许昌市| 泉州市| 阿拉善左旗| 马山县| 安吉县| 贡山| 沂南县| 芜湖市| 白沙| 廉江市| 逊克县| 塔城市| 阿拉尔市| 龙门县| 和田市| 九江市| 黑水县|