其他的就不多说了,github上直接pull下来,下面直接进入正题。
通过./build.py -d
进行编译和运行的过程中遇到如下问题:
一、qtbase编译遇到的问题
- 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
- QFixed编译错误
- 修改
src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
QFixed QCoreTextFontEngine::emSquareSize() const
{
//return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
}
- 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);
}