Phantomjs编译和运行

其他的就不多说了,github上直接pull下来,下面直接进入正题。


通过./build.py -d进行编译和运行的过程中遇到如下问题:

一、qtbase编译遇到的问题

  1. xcode版本问题
    Xcode not set up properly错误,这个主要是xcode的版本问题。
  • 修改configure文件,将/usr/bin/xcrun -find xcrun修改为/usr/bin/xcrun -find xcodebuild
  • 修改mkspecs/features/mac/default_pre.prf,将/usr/bin/xcrun -find xcrun修改为/usr/bin/xcrun -find xcodebuild
  1. QFixed编译错误
  • 修改src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
 QFixed QCoreTextFontEngine::emSquareSize() const
 {
    //return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
 }
  1. require_action编译错误
  • 修改src/plugins/platforms/cocoa/qcocoahelpers.mm
    将所有的require_action改为__Require_Action

二、phantomjs运行异常

主要是由qtwebkit的KURL类中的方法抛出异常,修改如下(比较粗暴):

 static inline void checkEncodedString(const String& url)
 {
     ASSERT_UNUSED(url, url.containsOnlyASCII());
-    ASSERT_UNUSED(url, url.isEmpty() || isSchemeFirstChar(url[0]));
+    //ASSERT_UNUSED(url, url.isEmpty() || isSchemeFirstChar(url[0]));
 }
 KURL::KURL(ParsedURLStringTag, const String& url)
 {
     parse(url);
-    ASSERT(url == m_string);
+    //ASSERT(url == m_string);
 }

你可能感兴趣的:(Phantomjs编译和运行)