日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]從12年那會(huì)兒開始獲取源碼和構(gòu)建chromium項(xiàng)目都是按照那時(shí)候的官方要求用win7+vs2010,相對(duì)來說也比較簡單,按照步驟來也很快能編譯出來。1.官網(wǎng)的編譯配置介紹:http://www.ch

從12年那會(huì)兒開始獲取源碼和構(gòu)建chromium項(xiàng)目都是按照那時(shí)候的官方要求用win7+vs2010,相對(duì)來說也比較簡單,按照步驟來也很快能編譯出來。

1.官網(wǎng)的編譯配置介紹:http://www.chromium.org/developers/how-tos/build-instructions-windows

2.編譯需要的工具:vs2010/sp1,win8sdk,DXSDK,depot_tools

我用的工具都是在這里了:2010CompilerToolsForChrome

depot_tools也可以從官方獲取:depot_tools?(命令行下執(zhí)行 gclient 它會(huì)自動(dòng)下載安裝構(gòu)建項(xiàng)目解決方案所需要的工具? python, git 和 svn ),下載下來之后找個(gè)地方解壓出來,比如我是解壓到E:盤下。


3.修改配置 按照官網(wǎng)說的,配置環(huán)境變量:GYP_MSVS_VERSION和depot_tools的path路徑。
如果win8SDK的安裝路徑不是默認(rèn)的 C:Program Files (x86)Windows Kits8.0 的話,就需要增加一個(gè)環(huán)境變量。 GYP_DEFINES 值為你真正安裝win8SDK的位置,比如C:UsersKuerjinjinDownloadsWindows Kits8.0
? 配置DirectX sdk的頭文件及l(fā)ib庫路徑: windows鍵 + r鍵,輸入%localappdata%MicrosoftMSBuildv4.0 并運(yùn)行,在彈出的文件夾列表中找到Microsoft.Cpp.Win32.user.props和Microsoft.Cpp.x64.user.props并修改這兩個(gè)文件。
[html] view plaincopyprint????????

$(DXSDK_DIR)Include;$(IncludePath)$(DXSDK_DIR)Libx86;$(LibraryPath)$(DXSDK_DIR)Include;$(IncludePath)$(DXSDK_DIR)Libx64;$(LibraryPath)


修改WRL的頭文件,默認(rèn)C:Program Files (x86)Windows Kits8.0Includewinrtasyncinfo.h 找到 enum class AsyncStatus { ... } 改成 enum /*class*/ AsyncStatus { ... }
4.代碼獲取:
找一個(gè)空間超過60G的磁盤比如E:,創(chuàng)建文件夾chromium30,命令行下切換到該目錄, [plain] view plaincopyprint?>e:??>cd?chromium30??>gclient?config?http://src.chromium.org/svn/releases/30.0.1559.0/???

>e:
>cd?chromium30
>gclient?config?http://src.chromium.org/svn/releases/30.0.1559.0/


拉取目前最新的源碼配置,當(dāng)然你也可以在http://src.chromium.org/svn/releases/中選擇自己想要的源碼版本。 一般會(huì)在當(dāng)前目錄下生成一個(gè).gclient的配置文件。為了減少不必要的代碼獲得的時(shí)間浪費(fèi),打開.gclient文件在“custom_deps”節(jié)里忽略掉部分測試代碼,如: [plain] view plaincopyprint?solutions?=?[?{?"name"????????:?"30.0.1559.0",??????????????????????????"url"?????????:?"http://src.chromium.org/svn/releases/30.0.1559.0",??????????????????????????"deps_file"???:?"DEPS",??????????????????????????"managed"?????:?True,??????????????????????????"custom_deps"?:?{?????????????????????????????????????"src/webkit/data/layout_tests/LayoutTests":?None,?????????????????????????????????????"src/third_party/WebKit/LayoutTests":?None,?????????????????????????????????????"src/chrome/tools/test/reference_build/chrome":?None,?????????????????????????????????????"src/chrome_frame/tools/test/reference_build/chrome":?None,?????????????????????????????????????"src/chrome/tools/test/reference_build/chrome_linux":?None,?????????????????????????????????????"src/chrome/tools/test/reference_build/chrome_mac":?None,??????????????????????????},?????????????????????????"safesync_url":?"",????????????????????????},??]??

solutions?=?[?{?"name"????????:?"30.0.1559.0",
????????????????????????"url"?????????:?"http://src.chromium.org/svn/releases/30.0.1559.0",
????????????????????????"deps_file"???:?"DEPS",
????????????????????????"managed"?????:?True,
????????????????????????"custom_deps"?:?{
???????????????????????????????????"src/webkit/data/layout_tests/LayoutTests":?None,
???????????????????????????????????"src/third_party/WebKit/LayoutTests":?None,
???????????????????????????????????"src/chrome/tools/test/reference_build/chrome":?None,
???????????????????????????????????"src/chrome_frame/tools/test/reference_build/chrome":?None,
???????????????????????????????????"src/chrome/tools/test/reference_build/chrome_linux":?None,
???????????????????????????????????"src/chrome/tools/test/reference_build/chrome_mac":?None,
????????????????????????},
???????????????????????"safesync_url":?"",
??????????????????????},
]


不要關(guān)閉命令提示,直接在當(dāng)前目錄下輸入gclient sync --force 進(jìn)行源碼的同步。接下來就等吧,這個(gè)同步的時(shí)間會(huì)很長,要同步十幾G的文件下來。正常情況下會(huì)在同步完成之后生成解決方案。如果沒有,在當(dāng)前目錄下接著輸入gclient runhooks --force。如果確保已經(jīng)100%同步完成了,生成解決方案的話可以直接輸入? python build/gyp_chromium 如果是第一次接觸這個(gè)項(xiàng)目,那么找一下 src/chrome/chrome.sln 打開,將chrome項(xiàng)目設(shè)置為啟動(dòng)項(xiàng)目,然后調(diào)試就OK。 ------------------------------------------------------------------------------------------------------------------------------- 自美國時(shí)間2014年3月1日開始,谷歌對(duì)chromium源碼的構(gòu)建方式做了調(diào)整。
關(guān)于系統(tǒng)版本只支持Windows 7 x64或更高版本, x86的操作系統(tǒng)已經(jīng)不再支持。
從chromium r254340(chromium33)之后的版本,默認(rèn)的調(diào)試工具唯一指定為Visual Studio 2013,
所以如果使用最近的源碼進(jìn)行構(gòu)建,需要安裝VS2013并修改 GYP_MSVS_VERSION=2013
而構(gòu)建工具除了之前一直在使用的 depot_tools ,還增加了 ninja 工具的配合(ninja也是整合在了depot_tools中)。
所以一直在使用舊版本depot_tools的開發(fā)者們,需要先更新 depot_tools (之前也就300M左右,更新后約1.86G)了。
另外一個(gè)就是要獲取VS2013的工具鏈腳本(toolchain script)
該工具鏈腳本不會(huì)修改系統(tǒng)環(huán)境,所以使用VS13或者之前的VS10都木有問題。
下載后的工具鏈腳本存放在 depot_tools win_toolchain vs2013_files?
如果系統(tǒng)中安裝了VS2013,你可以用它來編輯和調(diào)試,ninja 將仍然使用depot_tools來構(gòu)建版本。
具體就以下兩步: [plain] view plaincopyprint?python?srctoolswintoolchaintoolchain.py???win_toolchainenv.bat??

python?srctoolswintoolchaintoolchain.py?
win_toolchainenv.bat

其實(shí),說白了就是要更新一下原來的depot_tools工具。如果depot_tools更新好了,其他的跟之前的大同小異。 比如: [plain] view plaincopyprint?>e:??>cd?E:chromium35??E:chromium35>gclient?config?http://src.chromium.org/svn/releases/35.0.1900.0??E:chromium35>gclient?sync?--force(以往這一步會(huì)強(qiáng)制同步代碼后生成解決方案,現(xiàn)在則會(huì)在同步一部分后出現(xiàn)找不到文件的錯(cuò)誤)??E:chromium35>cd?src??E:chromium35>gclient?sync(確保源碼同步完成)??構(gòu)建方式有兩種,一個(gè)是使用?ninja?構(gòu)建??E:chromium35src>ninja?-C?outDebug?chrome??然后在?out/Debug?下就能看到編譯出來的文件。??另一種就是使用我們熟悉的VS來構(gòu)建,需要設(shè)置一個(gè)環(huán)境變量??GYP_GENERATORS=msvs-ninja,ninja??然后直接??E:chromium35src>gclient?runhooks??然后就能在?src/chrome/下找到chrome.sln的解決方案,調(diào)試方式就跟以前一樣了。??

>e:
>cd?E:chromium35
E:chromium35>gclient?config?http://src.chromium.org/svn/releases/35.0.1900.0
E:chromium35>gclient?sync?--force(以往這一步會(huì)強(qiáng)制同步代碼后生成解決方案,現(xiàn)在則會(huì)在同步一部分后出現(xiàn)找不到文件的錯(cuò)誤)
E:chromium35>cd?src
E:chromium35>gclient?sync(確保源碼同步完成)
構(gòu)建方式有兩種,一個(gè)是使用?ninja?構(gòu)建
E:chromium35src>ninja?-C?outDebug?chrome
然后在?out/Debug?下就能看到編譯出來的文件。
另一種就是使用我們熟悉的VS來構(gòu)建,需要設(shè)置一個(gè)環(huán)境變量
GYP_GENERATORS=msvs-ninja,ninja
然后直接
E:chromium35src>gclient?runhooks
然后就能在?src/chrome/下找到chrome.sln的解決方案,調(diào)試方式就跟以前一樣了。


------------------------------------------------------------------------------------------------------------------------------------------- TIPS:如果是使用了chromium r254340(chromium33)之后的版本,可以直接下載我安裝好的depot_tools工具,然后配置一下環(huán)境變量就可以直接用了。
1.depot_tools工具,下載后解壓配置環(huán)境變量。 2.git的更新包(1.9的,下載后解壓到depot_tools文件夾下就OK) 3.VS2013開發(fā)工具
已經(jīng)生成解決方案的幾個(gè)源碼包: 1.Chromium36.0.1922.0 2.Chromium35.0.1913.0 3.Chromium35.0.1900.0 4.Chromium34.0.1847.116(chrome的最新正式版) 5.Chromium34.0.1757.0

之前一些舊版本的源碼包:(可供學(xué)習(xí)研究用,VS10的項(xiàng)目,部分已經(jīng)生成解決方案) 1.Chromium32.0.1678.0
2.Chromium31.0.1650.63
3.Chromium30.0.1587.0
4.Chromium29.0.1547.49 5.Chromium29.0.1544.0 6.Chromium28.0.1500.95
7.Chromium24.0.1301.0


?

在這里再說一下幾個(gè)問題:

1.是使用VS10和VS13編譯項(xiàng)目的一些區(qū)別:如果是用的33之前的版本源碼生成的10的解決方案,那么vs2010/sp1,win8sdk,DXSDK,depot_tools這些都需要有的,如果是用的最近的源碼,只需要弄好最新版的depot_tools,再安裝個(gè)13就一切OK!(其實(shí)使用ninja+vs13混合編譯最終調(diào)用的vs13是depot_tools下的那個(gè),而我們要再安裝個(gè)VS13不過是修改和查看代碼用而已)運(yùn)行那個(gè)批處理設(shè)置一下直接用就行了!

2.一般的設(shè)置我們可以放在批處理中設(shè)置好,讓ninja知道我們要用的vs13,win8sdk等在我們下載好的depot_tools中!在src的同級(jí)目錄(或者說就是那個(gè).gclient所在的目錄)新建一個(gè)批處理CreateBuild.bat 運(yùn)行這個(gè)批處理文件可能會(huì)比較慢,耐心等待命令行窗口退出后再打開chrome.sln開始編譯!批處理的內(nèi)容如下:

@echo off

for /f %%a in ('where gclient.bat') do set pwd=%%a
set pwd=%pwd:~0,-11%
set file=%pwd%win_toolchaindata.json
set pwd=%pwd:=\%

echo {"runtime_dirs": ["%pwd%win_toolchain\vs2013_files\sys64", "%pwd%win_toolchain\vs2013_files\sys32"], "path": "%pwd%win_toolchain\vs2013_files", "version": "2013e", "wdk": "%pwd%win_toolchain\vs2013_files\wdk", "win8sdk": "%pwd%win_toolchain\vs2013_files\win8sdk"} > %file%

set GYP_MSVS_VERSION=2013
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library

call python ?srcbuildgyp_chromium

3.在最終的Release版本產(chǎn)品發(fā)布的時(shí)候,為了打包的需要可以把shared_library注釋掉rem?set GYP_DEFINES=component=shared_library改為靜態(tài)編譯,這個(gè)時(shí)候的編譯會(huì)比較慢特別是是最后的連接chrome.dll !

4.由于ninja+vs13這種混合編譯模式調(diào)用的都是depot_tools下的,所以直接在打開vs13中添加文件是不會(huì)被編譯到的,所以如果有在項(xiàng)目中添加文件就需要修改項(xiàng)目對(duì)應(yīng)的gyp或者gypi文件,將我們添加的文件目錄添加到sources節(jié)點(diǎn)下,然后重新運(yùn)行上邊的批處理文件!

5.最后再說一點(diǎn),那就是如果以前使用過vs2010編譯,在運(yùn)行CreateBuild.bat 這個(gè)批處理之前要?jiǎng)h除“C:Users$(username)AppDataLocalMicrosoftMSBuildv4.0”下props文件中關(guān)于$(DXSDK_DIR)的內(nèi)容。(重要)

?

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉