當前位置:首頁 » 編程軟體 » chromevs2013編譯

chromevs2013編譯

發布時間: 2023-01-31 13:20:31

Ⅰ 怎麼調試最新chromium

源碼下載到編譯,到目錄結構,今天終於到了重要的環節,調試。
在windows上,調試工具都是使用微軟自家的產品:Visual Studio或者winDBG(windebug)。Chromium也是與時俱進,現在主要使用Visual Studio2013。我今天主要講使用vs2013調試源碼。

我在編譯代碼那一章(http://my.oschina.net/ghost045/blog/395973)的時候曾經講過生成源碼工程的東東,如下:
set GYP_MSVS_VERSION=2013
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library
set PATH=C:\depot_tools\python276_bin\;C:\depot_tools\;
python.exe src/build/gyp_chromiumsrc/chrome/chrome.gyp >>log.txt 2>&1

運行成功後,打開src\chrome文件夾,發現下面多了好多文件----都是工程文件。

Ⅱ hollow word

1、用記事本編寫*.c文件,在Microsoft Visual Studio 12.0\Common7\Tools中有一個vs2013開發人員命令提示,cl *.c編譯連接生成*.exe可執行文件。

2、C語言中,stdio.h標准輸入輸出頭文件,stdlib.h包含system函數,即調用命令行。

3、

#include<stdio.h>

#include <stdlib.h>

void main()

{

system("calc");

system("pause");

system("taskkill /f /im calc.exe");

}

在c程序中用命令行打開計算器,結束計算器。順序執行,一句執行完等待,在執行下一句。改用system("start calc");則不需要等待這句執行完,就可以執行下一句;加入start 並行執行。

4、

system("explorer.exe")//文件管理器

system("explorer.exe  C:")//文件管理器

system("\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"");//打開瀏覽器

system("\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" www.qq.com");//打開瀏覽器 指定網頁

5、//std 任何平台通用 

  printf 在stdio.h里,system在stdlib.h里。

6、  windows平台,windows.h頭文件,以下幾個函數。

MessageBoxA(0,"顯示內容","顯示標題",0);

//0代表系統彈出;顯示內容——提示框顯示的內容;顯示標題——提示框顯示的標題;0——對話框類型,備選項有:0,1,2,3;

7、ShellExecutA(0,"open","tasklist",0,0,1);

//0——系統啟動;

//open 打開 printf 列印;

//第三個參數是指令;

//0,0——第四個第五個默認為0;

//0隱藏窗口,1正常,3最大化,6最小化;

Sleep(1000);休眠1000ms,休眠1秒;

8、內存分配函數 malloc 在 stdlib.h中;

malloc(1000);分配1000個位元組;eg. int *p =(int*)malloc(1000);

9、putchar輸出一個字元;\a\n都是一個字元,字元用單引號,字元串雙引號;

10、helloworld的10種做法

一、printf("helloworld");

二、printf("A%sB","helloworld");//"helloworld"按照%s格式化為字元串

三、printf("%c%c%c%c%c%c%c%c%c%c",'h','e','l','l','o','w','o','r','l','d');

四、putchar('h');putchar('e');putchar('l');putchar('l');putchar('o');putchar('w');putchar('o');putchar('r');

putchar('l');putchar('d');

五、putchar(104);

putchar(101);

putchar(108);

putchar(108);

putchar(111);

putchar(119);

putchar(111);

putchar(114);

putchar(108);

putchar(100);

六、putchar(0150);//前面帶0是八進制,八進制代表字元的編號

putchar(0145);

putchar(0154);

putchar(0154);

putchar(0157);

putchar(0167);

putchar(0157);

putchar(0162);

putchar(0154);

putchar(0144);

七、putchar(0x68);//0x是十六進制,

putchar(0x65);

putchar(0x6c);

putchar(0x6c);

putchar(0x6f);

putchar(0x77);

putchar(0x6f);

putchar(0x72);

putchar(0x6c);

putchar(0x64);

八、putchar('\150');//前面帶0是八進制,八進制代表字元的編號

putchar('\145');// '\ddd'.3位八進制代表的字元

putchar('\154');

putchar('\154');

putchar('\157');

putchar('\167');

putchar('\157');

putchar('\162');

putchar('\154');

putchar('\144');

九、putchar('\x68');// '\xhh',16進制數據轉換成編號,查找字元

putchar('\x65');

putchar('\x6c');

putchar('\x6c');

putchar('\x6f');

putchar('\x77');

putchar('\x6f');

putchar('\x72');

putchar('\x6c');

putchar('\x64');

十、puts("helloworld");//傳入字元串,列印字元串

11、#define_CRT_SECURE_NO_WARNINGS//關閉安全檢查

12、

int  n;

scanf("%d", &n);

char str[50];

sprintf(str, "for /l %%i in (1,1,%d) do start calc", n);//在命令行的循環

printf("%s", str);

system(str);

system("pause");

13、

生成動態鏈接庫,*.dll中,_declspec(dllexport) 外部可以調用,沒有則不可調用。

_declspec(dllexport)  void come()

Ⅲ 如何編譯JCEF以及內嵌到桌面應用程序中

在項目中需要在桌面應用程序中內嵌瀏覽器, 嘗試了幾種解決方案,有:javafx, DJNativeSwing,CEF等。覺得CEF效果最好。本文目的是介紹如何編譯和使用jCEF。 主要參考和翻譯了這篇文章java-cef 背景說明 什麼是CEF

Ⅳ 下了個 chromium的項目源碼 ,現在編譯老是出錯 ,報找不到頭文件

找不到頭文件,既然頭文件還在,那就是 路徑設置了,在工程屬性裡面找到 包含文件路徑,將你需要的頭文件所在路徑添加進去就行

Ⅳ 怎麼編譯Chrome for Android

編譯Chrome for Android目前有兩種方式,一是在ROM編譯環境下編出libchromeview.so,二是用Chromium主幹的代碼編譯出ContentShell(一個測試用的外殼,只包含核心的代碼,不包含Chrome的擴展特性,這兩種方式目前都只支持在64位Ubuntu下面進行。

--------------------------------------------------------------------------------

在ROM編譯環境下編出libchromeview.so
這種方式比較簡單,下載當前版本Chrome for Android的tarball,解壓後把Chrome目錄放入ROM目錄的$ROM/external下面,然後按照README.Chrome_for_Android_SourceDistribution裡面的說明進行編譯即可。
1.編譯出來的libchromeview.so,可以按照README.Chrome_for_Android_SourceDistribution說明打一個新的Chrome.apk運行,也可以直接替換掉手機裡面/data/data/com.android.chrome/下面的libchromeview.so運行;
2.不知道是不是版本不匹配的關系,用最新的Chrome搭配自己編譯的libchromeview.so,復雜的網頁會崩潰,簡單的網頁就還OK;
3.可以輸出日誌(#include "/base/logging.h"),但是沒法調試和跟蹤(理論上應該可以使用命令行gdb進行調試,不過配置起來應該比較麻煩,沒有去嘗試);

--------------------------------------------------------------------------------

用Chromium主幹的代碼編譯出ContentShell
這種方式比較麻煩
1.下載Chromium的tarball後需要使用gclient sync -nohooks同步新的代碼,tarball裡面的svn記錄是1.6版本的,如果你的svn是1.7版本,需要先downgrade到1.6版本;
2.同步最新代碼的時候,如果提示guava和jsr-305這兩個目錄同步錯誤,需要先移除$SRC/third_party/guava和$SRC/third_party/jsr-305後再重新同步(後續新的tarball應該不需要了);
3.gclient runhooks一直失敗,不過貌似也不影響編譯;
4.如果編譯時提示缺少$SRC/build/util/LASTCHANGE文件,可以從上面的Chrome for Android的tarball裡面過來;
5.運行build/android/adb_gdb_content_shell就可以使用gdb進行調試;
6.adb_gdb_content_shell實際上調用了adb_gdb,adb_gdb在中文Ubuntu環境下有一個bug,第861行」if [ "$STATE" != "Running" ]; then「可能會失敗,因為在中文環境STATE實際值可能是」運行中「,這一行需要改成」if [ "$STATE" != "運行中" ]; then「;

Ⅵ 有人自己下過Chrome瀏覽器源碼自己編譯過嗎,為

chrome瀏覽器和網路瀏覽器,360瀏覽器等一樣,你可以到它的擴展中心尋找安裝自己需要的插件。

Ⅶ 在編譯Chrome,在生成解決方案時執行gclient runhooks --force ImportError: No mole named gyp

你的python的版本不對,不能用3.0的,得用2.6或2.7的

Ⅷ 如何編譯chrome中的depot

1) 了解代碼組織結構。
Chrome source非常龐大,並且在其主目錄下還包含有工具和組件,任何一個工具和組件也附帶有其源代碼。首先得熟悉這些源代碼的組織結構,在http://src.chromium.org/svn/中包含如下子目錄:releases,曾經發布過的chrome源代碼的正式版本;trunk,當前最新的源代碼。由於releases中的代碼比較舊,這里就不做說明了,只說明trunk的結構。在trunk下面有3個重要的目錄,deps包含了chrome編譯和運行所需要的全部組件的代碼。src裡麵包含的則是chrome的主程序的代碼,tools包含的是下載和配置編譯所需要的第三方工具的壓縮包和源代碼,其中就有svn和python這2個比較重要的工具,後面再詳細介紹。暫時做這樣一個簡單的介紹,因為其組織結構比較負責,以後再作補充斧正。

2)如何下載和同步源代碼。
首先談談下載:
1,最簡單的方法是從chrome官網上直接下載源代碼壓縮包,地址是http://build.chromium.org/buildbot/archives/chromium_tarball.html。

2,或者採用svn從http://src.chromium.org/svn/trunk/src這個地方heckout,這要求你先在本地建一個源代碼的主目錄。

3,另外一個辦法則是採用google提供的一個部署工具depot_tools。雖然這幾種辦法都可下載完整的源代碼,但目前的情況是:chrome基於Visual Stdio 2005 進行編譯,如果順利完成編譯工作,自然少不了sln文件,較早的源代碼中包含有現成的sln和vcproject文件,但後來做了修改,這些文件被拋棄掉,Google自己開發了一種腳本工具叫做GYP,這個工具採用python編寫,GYP採用了自定義的一套規則,用於生成各種工程文件。而關鍵的python則包含於depot_tools中,因此不論採用什麼方法下載的代碼,都得下載depot_tools這個工具,以獲得必須的工程文件。
depot_tools位於 http://src.chromium.org/svn/trunk/tools 下面,包括一個目錄和一個zip格式的壓縮包。

3)關於編譯器
前面提到Chrome採用Visual Stdio 2005進行編譯,根據http://dev.chromium.org的說明,需進行如下操作正常編譯
a, 安裝Visual Studio 2005.
b, 安裝Visual Studio 2005 Service Packe 1.
c, 安裝Visual Studio Hotfix 947315.
d, 如果是vista系統,還需安裝Visual Studio 2005 Service Packe 1 Update for Windows Vista.
e, 安裝Windows 2008 SDK,如果是Visual Studio 2008則不需要這一步。
f, 配置Windows 2008 SDK,使2008 SDK成為首選開發庫,以獲得一些新功能和特性。辦法是在開始->程序->Microsoft Windows SDK v6.1 > Visual Studio Registration > Windows SDK Configuration Tool,選擇make current按鈕。也可以在VS裡面手動配置include和libary路徑,效果是一樣的。

二,如何配置工程文件
1,如果是採用depot_tools,那麼從代碼下載到生成sln文件會自動完成。其步驟是
(1)下載depot_tools到本地存儲,假設位於d:/depot_tools.
(2)將d:/depot_tools添加到系統環境變數中。
(3)創建一個源代碼根目錄,假設為 d:/chrome,目錄不得包含空格。
(4)在命令行下切換當前目錄到d:/chrome。
(5)執行命令 gclient config http://src.chromium.org/svn/trunk/src ,該命令會首先下載svn和python分別到d:/depot_tools/svn_bin和d:/depot_tools/python_bin。
(6)執行命令 gclient sync 這個命令會調用svn同步源代碼。這個過程會比較漫長。全部完成之後全部源代碼就保存在d:/chrome裡面。未編譯的代碼大約有4個G左右,過程將十分漫長。這樣獲得的源代碼已經包含所有的工程文件,可直接打開。

重點說明一下gclient,它實際上是一個批處理文件,它主要做了如下一些事情,首先設置環境變數,如代碼根目錄,工具根目錄等。其次調用win_tools.bat從伺服器下載svn和python。最後調用python.exe對Chrome.gyp進行解析生成所有工程文件。
另外需要說明的是,gclient sync的過程非常漫長,根據命令行的提示來看總共需要同步67個項目(不是工程),期間可能會因為一些原因導致錯誤而退出這個過程,需要繼續調用sync。比如網路出現故障svn會多次進入sleep狀態然後重試,如果多次失敗就會報錯退出,還有的情況是某些子目錄的屬性問題無法同步,可根據提示進行操作。還有個目前新出現的問題,下面2個目錄「src/webkit/data/layout_tests/LayoutTests」和「src/third_party/WebKit/LayoutTests」的源代碼是從src.webkit.org簽出來的,但是這個網站目前存在問題無法簽出代碼, 需要屏蔽掉這2個目錄,由於裡面是測試代碼,即使丟棄也不會影響整個工程的編譯,方法是打開trunk下面的.gclient文件,向裡面添加如下內容
"custom_deps" : {
"src/webkit/data/layout_tests/LayoutTests":None,
"src/third_party/WebKit/LayoutTests":None,
},

這樣svn就能完成代碼的同步了。最後gclient會調用depot_tools/python_bin/python.exe 對 src/build/gyp_
chromium進行處理,這樣就得到了所有的sln和vcproject文件。

2,如果是下載的代碼壓縮包或者checkout的代碼,代碼目錄裡面沒有sln文件,這個時候需要調用命令行進入源代碼根目錄,然後執行命令 gclient runhooks --force,命令執行後會直接對Chrome.gyp進行解析,生成sln文件。

在實際下載過程中,最開始的時候我用TortoiseSVN從http://src.chromium.org/svn/trunk/src checkout源代碼,但是得到的代碼只有幾百兆,執行gclient runhooks --force命令後也沒有找到sln文件,具體原因未知,不建議使用此方式。而直接下載代碼壓縮包的方式沒有嘗試過,不知道是否可行。因此最穩妥的方法還是使用depot_tools來部署和處理源代碼。

三 編譯工程
啟動Visual Studio 2005打開 src/chrome/browser/chrome.sln,或者打開src/build/all.sln,如果打開的是chrome.sln裡麵包含480個工程,而all.sln則包含507個工程,一些09年的編譯說明提到有300左右的工程,可見chrome的代碼變動比較大。對整個解決方案進行編譯,打開需要2個小時才能完成編譯,視硬體環境而定,內存越大越快,推薦4G以上內存,酷睿2核或者4核。編譯完成以後據說會佔用30G的空間。編譯後的文件位於 d:/chorme/chrome/debug 目錄或者 d:/chorme/chrome/release目錄下。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:750
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876