日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解S60 WebKit 21772编译教程

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解S60 WebKit 21772编译教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

?

S60 WebKit?21772編譯教程是本文要介紹的內容,主要是來了解并學習S60 WebKit應用,具體內容的學習來看本文詳解。

1、安裝環境:

  • perl?jdk?S60-SDK-0548-3.0-f.3.215f.zip ?
  • Carbide1.3(其他Carbide應該一樣) ?
  • svn?
  • 2、磁盤映射:

  • subst?X:?C:/Symbian/9.1/S60_3rd?
  • 3、下載webkit

  • svn?co?http://svn.webkit.org/repository/webkit/S60/trunk@21772?S60?到?X:?
  • 4、修改build.bat

    (1)確定sdk在注冊表的位置正確(同一個SDK安裝多次會不同)

  • my?$sdkhome?= ?
  • ??$Registry->{ ?
  • "HKEY_LOCAL_MACHINE/SOFTWARE/Symbian/Series?60/3rd?Ed.?SDK?for?Symbian?OS/TargetDir" ?
  • ??};?
  • (2)carbide的安裝目錄

  • $cbdhome?=?"E://Nokia//Carbide.c++?v1.3"?unless?-d?$cbdhome;?
  • (3)carbide文件目錄修改

  • plugins//com.nokia.carbide.cpp.support_1.0.0?替換為?x86Build?
  • 原來carbide1.0的路徑改為1.3的 $cbdhome//x86Build//Symbian_Support//
    ????
    (4)注釋掉delete $ENV{'MWSYM2LIBRARIES'};

    改為 #delete $ENV{'MWSYM2LIBRARIES'};???????

    5、memman的錯誤

  • elf2e32?:?Error:?E1036:?Symbol?_ZTI15CSimpleNotifier?Missing?from?ELF?File?:?../EPOC32/BUILD/S60/MEMMAN/GCCE/UREL/MemMan_sdk.dll. ?
  • elf2e32?:?Error:?E1036:?Symbol?_ZTV15CSimpleNotifier?Missing?from?ELF?File?:?../EPOC32/BUILD/S60/MEMMAN/GCCE/UREL/MemMan_sdk.dll.?
  • 這個錯誤是由于導出函數里面少函數

  • 修改c:/Symbian/9.1/S60_3rd/S60/MemoryManager/Eabi/MemMan_gcceU.DEF???? ?
  • ????_ZTI15CSimpleNotifier?@?18?NONAME?;?#<TI>#?改為?_ZTI15CSimpleNotifier?@?18?ABSENT?;?#<TI># ?
  • ????_ZTV15CSimpleNotifier?@?23?ABSENT?;?#<VT>#?改為?_ZTV15CSimpleNotifier?@?23?ABSENT?;?#<VT>#?
  • ?

    修改c:/Symbian/9.1/S60_3rd/S60/MemoryManager/Eabi/MemMan_sdkU.DEF???

  • _ZTI15CSimpleNotifier?@?22?NONAME?;?DATA?改為?_ZTI15CSimpleNotifier?@?22?ABSENT?;?DATA ?
  • _ZTV15CSimpleNotifier?@?27?NONAME?;?DATA?改為?_ZTV15CSimpleNotifier?@?27?ABSENT?;?DATA???
  • 6、"int64_t"數據類型的問題

  • JavaScriptCore//bindings//HashFunctions.h:35:error:'int64_t'?does?not?name?a?type.. ?
  • ????JavaScriptCore//bindings/HashTraits.h:53:?error:?no?type?named?`SignedType'?in?`struct?WTF::IntTypes<8u>'?
  • 由于GCCE編譯器里面沒有內置int64_t之類的數據類型導致的(armv5的編譯器就沒有這個問題)

    修改c:/Symbian/9.1/S60_3rd/S60/JavaScriptCore/kjs/stdint.h文件,在末尾#endif的上面添加如下的定義:

  • #ifdef?__GCCE__ ?
  • typedef?long?long?int64_t; ?
  • typedef?unsigned?long?long?uint64_t; ?
  • typedef?unsigned?long?uintptr_t; ?
  • typedef?unsigned?long?intptr_t; ?
  • #endif???
  • 7、代碼中namespace忘記加分號結尾:

  • c:/Symbian/9.1/S60_3rd/S60/WebKit/BrowserView/inc/WidgetExtension.h ?
  • ????namespace?KJS?{? ?
  • ???????class?WidgetEventHandler; ?
  • ????}; ?
  • c:/Symbian/9.1/S60_3rd/S60/WebCore/khtml/dom/dom_string.h ?
  • ????namespace?khtml?{ ?
  • ????????class?Length; ?
  • ????}; ?
  • c:/Symbian/9.1/S60_3rd/S60/WebCore/khtml/misc/loader.h ?
  • ????namespace?KIO?{ ?
  • ??????class?Job; ?
  • ??????class?TransferJob; ?
  • ????};?????
  • ?

    8、在java script core里面,有幾個函數是沒有定義的,需要手工添加進去:

  • Kwqkhtmlpart.cpp:(.text+0xb1ec):?undefined?reference?to?`_NPN_CreateScriptObject' ?
  • ????make[1]:?***?[../EPOC32/RELEASE/GCCE/UREL/WebCore_sdk.dll]?Error?1 ?
  • ???c:/Symbian/9.1/S60_3rd/S60/JavaScriptCore/group/BMARM/JavaScriptCoreU.def?
  • 打開這個文件,然后在該文件的末尾添加如下定義:

  • _ZN3KJS11Interpreter30createLanguageInstanceForValueEPNS_9ExecStateENS_8Bindings8????
  • Instance15BindingLanguageERKNS_6ObjectEPKNS3_10RootObjectESB_?@?389?NONAME ?
  • ????_ZN3KJS16RuntimeObjectImpC1EPNS_8Bindings8InstanceEb?@?390?NONAME? ?
  • ????_ZN3KJS16RuntimeObjectImpC2EPNS_8Bindings8InstanceEb?@?391?NONAME? ?
  • ????_ZTIN3KJS16RuntimeObjectImpE?@?392?NONAME?;?#<TI>#? ?
  • ????_ZTVN3KJS16RuntimeObjectImpE?@?393?NONAME?;?#<VT>#? ?
  • _ZN3KJS15ProtectedValues20decreaseProtectCountEPNS_8ValueImpE?@?394?ABSENT? ?
  • _ZN3KJS15ProtectedValues20increaseProtectCountEPNS_8ValueImpE?@?395?ABSENT? ?
  • _ZN3KJS8Bindings10RootObject14setInterpreterEPNS_11InterpreterE?@?396?NONAME? ?
  • _ZN3KJS8Bindings10RootObject25removeAllNativeReferencesEv?@?397?NONAME? ?
  • _ZN3KJS8Bindings8Instance32createBindingForLanguageInstanceENS1_15BindingLanguageEPvPKNS0_10RootObjectE?@?398?NONAME? ?
  • ????_NPN_CreateScriptObject?@?399?NONAME?
  • 9、

  • WebCore_sdk.dso?not?found ?
  • ?
  • ?Solution:?freeze?exports?by?build?-nfg?and?rebuild?webcore?completly?as?build?-g?webcore?

  • 10、

  • aiwdialdata.dso:?No?such?file:?No?such?file?or?directory ?
  • ?
  • Solution:?modify?webkit.mmp?file?as?given?below?#ifndef?__BROWSER_SDK?LIBRARY?aiwdialdata.lib?#endif??
  • 11、

  • make[1]:?***?[../EPOC32/RELEASE/GCCE/UREL/browserengine_sdk.dll]?Error?1 ?
  • make:?***?[TARGETWEBKIT]?Error?2 ?
  • ???? ?
  • elf2e32?:?Error:?E1036:?Symbol?_ZTI10CScrollBar,_ZTI12CScrollThumb,_ZTI15CScrollBarFrame,_ZTI22CScrollBarCornerWindow, ?
  • _ZTV10CScrollBar,_ZTV12CScrollThumb,_ZTV15CScrollBarFrame,_ZTV22CScrollBarCornerWi ?
  • ndow?Missing?from?ELF?File?:?../EPOC32/BUILD/S60/WEBKIT/GCCE/UREL/browserengine_sdk.dll.?
  • Solution: 同8,把相應DEF中,這些已經不存在的方法改成 ABSENT

    12、

  • ????arm-none-symbianelf-ld:?../EPOC32/RELEASE/ARMV5/LIB/HomePage_Sdk.dso:?No?such?file:?No?such?file?or ?
  • ????directory ?
  • ????make[1]:?***?[../EPOC32/RELEASE/GCCE/UREL/WebUi.exe]?Error?1 ?
  • ????make:?***?[TARGETWEBUI]?Error?2 ?
  • ???? ?
  • ????Solution:?freeze?exports?by?build?-nfg?and?rebuild?webcore?completly?as?build?-gn ?
  • ?
  • Processing?Reindeer.pkg... ?
  • Created?Reindeer.SIS ?
  • Sign?Reindeer.sis... ?
  • Delete?intermediate?files... ?
  • Done,?please?copy?Reindeer.sisx?to?your?phone ?
  • ?
  • Completed?in:?00:02:09 ?
  • ?
  • Scanning?build?output?for?errors:?0?found ?
  • Restoring?variant.cfg?
  • 真機編譯成功。

    小結:詳解S60 WebKit?21772編譯教程的內容介紹完了,希望通過S60 WebKit內容的學習能對你有所幫助!

    轉載于:https://blog.51cto.com/4536592/908558

    總結

    以上是生活随笔為你收集整理的详解S60 WebKit 21772编译教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。