Solaris 10 CC 、Solaris 11 Gcc 4.8.2 编译 Qt 4.8.6 备记
2014-09-12 20:12
405 查看
Solaris 10 CC :
Configure:
./configure -no-qt3support -nomake demos -nomake examples -nomake test -release -platform solaris-cc -prefix /export/home/app/qt/4.8.6 -L/opt/SUNWmlib/lib -L/opt/SUNWits/Graphics-sw/xil/lib -I/opt/SUNWmlib/include -I/usr/lib/gnome-private/lib/dbus-1.0/include
-I/usr/lib/gnome-private/include/dbus-1.0 -webkit -declarative -script
结果是script、declarative和webkit还是不给编译。
不管这个,configure完成后执行dmake,编译gui模块式出错,错误源文件为qfiledialog.cpp,代码(884~888行)修改如下:
//#if defined(Q_OS_SOLARIS) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 < 199506L)
tmpPw = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize);
/*#else
err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw);
#endif*/
继续编译,dmake完成后执行dmake install。
然后依次进入src下的script、scripttools、declarative、phonon目录编译(dmake、dmake install)
进入src下的dbus下,修改qdbusunixfiledescriptor.h,将其中的#ifndef QT_NO_DBUS前添加代码#undef QT_NO_DBUS,然后再编译(dmake、dmake install)
好不好使,先编了再说
Solaris 11 Gcc 4.8.2:
需要在线更新并安装icu开发支持包
configure时候不会把script及webkit排除在外,在编译webkit时需要修改几处源码:
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Threading.h 104、116行注释掉(yield()与unistd.h中定义的冲突)
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp 394行插入 :
#elif OS(SOLARIS)
pthread_attr_init(®s);
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteDatabase.cpp 39行插入(yield()):
#include <unistd.h>
继续gmake......
Configure:
./configure -no-qt3support -nomake demos -nomake examples -nomake test -release -platform solaris-cc -prefix /export/home/app/qt/4.8.6 -L/opt/SUNWmlib/lib -L/opt/SUNWits/Graphics-sw/xil/lib -I/opt/SUNWmlib/include -I/usr/lib/gnome-private/lib/dbus-1.0/include
-I/usr/lib/gnome-private/include/dbus-1.0 -webkit -declarative -script
结果是script、declarative和webkit还是不给编译。
不管这个,configure完成后执行dmake,编译gui模块式出错,错误源文件为qfiledialog.cpp,代码(884~888行)修改如下:
//#if defined(Q_OS_SOLARIS) && defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 < 199506L)
tmpPw = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize);
/*#else
err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw);
#endif*/
继续编译,dmake完成后执行dmake install。
然后依次进入src下的script、scripttools、declarative、phonon目录编译(dmake、dmake install)
进入src下的dbus下,修改qdbusunixfiledescriptor.h,将其中的#ifndef QT_NO_DBUS前添加代码#undef QT_NO_DBUS,然后再编译(dmake、dmake install)
好不好使,先编了再说
Solaris 11 Gcc 4.8.2:
需要在线更新并安装icu开发支持包
configure时候不会把script及webkit排除在外,在编译webkit时需要修改几处源码:
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Threading.h 104、116行注释掉(yield()与unistd.h中定义的冲突)
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp 394行插入 :
#elif OS(SOLARIS)
pthread_attr_init(®s);
qt-everywhere-enterprise-src-4.8.6/src/3rdparty/webkit/Source/WebCore/platform/sql/SQLiteDatabase.cpp 39行插入(yield()):
#include <unistd.h>
继续gmake......
相关文章推荐
- Solaris 10 u10 编译Qt 4.7.5 备记
- qt4.8.6版本使用arm-linux-gcc-3.4.5编译问题
- 在Oracle 11.2上用Gcc进行64bit编译(Solaris 11, x86)
- SUSE Linux Enterprise 11 SP3 成功编译安装GCC 4.8.2
- ubuntu 14.04 编译android4.0 出现gcc-version.sh: line 11: cc: command not found错误解决方法
- redhat-5.6-x86_64、gcc-4.9.2 编译 Qt-4.8.6 备记
- Qt4.8.6详细安装步骤(使用了i686-4.8.2-release-posix-dwarf-rt_v3-rev3,手动设置gcc和gdb)非常清楚 good
- ubuntu11.04下编译安装Qt4.8.2
- arm-linux-gcc 4.1.1 编译 QT 4.7 for ARM 中的错误
- Qt Printer 打印(Solaris 10)
- Linux 0.11 在ubuntu-11和gcc-4.6.1下编译调试至正常运行的过程详解
- Solaris Volume Manager Data Recovery In Solaris 10 8/11 推荐
- Solaris10安装gcc和gdb
- 在 Solaris 10 系统上编译并使用SQLite-3.4.2
- solaris 11 下编译ruby on rails
- 编译arm-linux交叉编译工具链(fedora 10,binutils-2.16, gcc-3.4.4, glibc-2.3.6)
- Solaris 10 x86系统下安装gcc过程
- Solaris 10 Qt 4.6.2安装与调试
- 在Solaris 10编译并安装vim7.3
- Qt Printer 打印(Solaris 10)