编译的scribus版本是1.35svn版,以前的1.34或者1.33都不能按这个方法编译(因为以前的版本基于QT3,而QT3没有支持windows的公开版本)。
1.下载软件包
所需软件包列表如下:
Scribus 1.35 svn源码(svn://scribus.info/Scribus/trunk)
CMake 2.6二进制安装版本:cmake-2.6.1-win32-x86.exe(http://www.cmake.org/)
QT4.3.5源码:qt-win-opensource-src-4.3.5.zip(http://trolltech.com/products/qt/)
Cairo:下载gtk+二进制版本gtk+-bundle-2.12.11.zip(http://www.gtk.org/)
libxml2二进制版本:libxml2-2.6.32+.win32.zip(http://xmlsoft.org/)
libjpeg:jpegsrc.v6b.tar.gz(http://www.ijg.org/)
libtiff:tiff-3.8.2.zip(http://www.libtiff.org/)
libpng:lpng1229.zip(http://www.libpng.org/)
zlib:zlib123.zip(http://zlib.net/)
freetype:ft235.zip(http://freetype.org/)
LittleCMS:lcms-1.17.zip(www.littlecms.com)
Boost:boost_1_35_0.zip(http://www.boost.org/)
PoDoFo 0.5.0:podofo-0.5.0.tar.gz(podofo.sourceforge.net)
Python 2.5二进制安装版本:python-2.5.2.msi(http://www.python.org/)
如果要调试,可能需要有python25_d.dll的版本。
2.编译软件包
编译环境:WindowsXP;
Visual C++ 2005;
Platform SDK 2003SP1版;
将所有的软件包该安装的就安装了。该解压的解压到一个目录中,便于管理。这里以
C:/developer/lib目录为例
Scribus的源码放在C:/developer/scribusSVN中
新建C:/developer/scribus-bin目录。
编译QT:
1)打开Platform SDK的Build Environment命令行窗口(XP 32bit Retail)
2)运行VC安装目录下的vcvarsall.bat("C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat")
3)cd到QT源代码目录
4)configure -debug-and-release -fast -no-qt3support -platform win32-msvc2005
5)nmake
编译zlib:
在projects/visualc6下有VC项目,直接编译即可
编译libPNG:
在projects/visualc71下有VC项目,直接编译即可
编译libjpeg:
1)打开Platform SDK的Build Environment命令行窗口(XP 32bit Retail或者Debug)
2)运行VC安装目录下的vcvarsall.bat("C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat")
3)cd到libjpeg源码目录
4)copy Makefile.vc Makefile
5)copy jconfig.vc jconfig.h
6)nmake
编译lcms:
在projects/VC2005目录下有VC项目,直接编译即可
注意:编译完之后,修改lcms.h文件,注释掉: #define unlink _unlink
编译libtiff:
1)打开Platform SDK的Build Environment命令行窗口(XP 32bit Retail或者Debug)
2)运行VC安装目录下的vcvarsall.bat("C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat")
3)运行下面的命令:
set INCLUDE=%INCLUDE%;/path/to/jpeg/include;/path/to/zlib/include
set LIB=%LIB%;/path/to/jpeg/lib;/path/to/zlib/lib
cd %LIBTIFFDIR%/libtiff
nmake /nologo /f Makefile.vc libtiff.lib
注意:上面的目录要修改成相应的jpeg和zlib目录,%LIBTIFFDIR%是libtiff源码解压目录。
编译freetype:
在builds/win32/visualc目录下有VC项目,直接编译即可
编译podofo:
有VC项目,直接podofo那个项目即可。需要修改freetype等的一些头文件的位置。
还有就是最后的freetype的lib文件的目录。
3.用CMake生成scribus的VC项目
1)cd到C:/developer/scribus-bin目录中
2)建立build.cmd文件。写入:
set CMAKE=C:/Program Files/CMake 2.6/bin/cmake.exe
set ZLIBDIR=C:/developer/lib/zlib
set PNGDIR=C:/developer/lib/lpng1229
set QTDIR=C:/developer/lib/qt-win-opensource-src-4.3.5
set CAIRODIR=C:/developer/lib/gtk
set LCMSDIR=C:/developer/lib/lcms-1.17
set JPEGDIR=C:/developer/lib/jpeg-6b
set FREETYPEDIR=C:/developer/lib/freetype-2.3.5
set TIFFDIR=C:/developer/lib/tiff-3.8.2
set PODOFODIR=C:/developer/lib/podofo-0.5.0
set PODOFOSHARED=1
set LIBXMLDIR=C:/developer/lib/libxml2-2.6.32+.win32
set SCRIBUSINSTALLDIR=c:/developer/scribus-bin
rem
rem
set PATH=%SYSTEMROOT%;%SYSTEMROOT%/system32;%QTDIR%/bin
set INCLUDE=
set LIB=
set SCPNGPROJ=%PNGDIR%/projects/visualc71/
del cmakecache.txt
"%CMAKE%" -G "Visual Studio 8 2005" -DCMAKE_INCLUDE_PATH:PATH=%QTDIR%/src/3rdparty/zlib;%QTDIR%/src/3rdparty/libpng;%ZLIBDIR%;%ZLIBDIR%/include;%PNGDIR%;%PNGDIR%/include;%CAIRODIR%/include/cairo;%LCMSDIR%/include;%JPEGDIR%;%TIFFDIR%/libtiff;%FREETYPEDIR%/include;%FREETYPEDIR%/include/freetype;%PODOFODIR%/include;%LIBXMLDIR%/include -DCMAKE_LIBRARY_PATH:PATH=%ZLIBDIR%/libs;%SCPNGPROJ%/Win32_DLL_Debug/Zlib;%SCPNGPROJ%/Win32_DLL_Release/Zlib;%PNGDIR%/lib;%SCPNGPROJ%/Win32_DLL_Debug;%SCPNGPROJ%/Win32_DLL_Release;%LCMSDIR%/Lib/MS;%JPEGDIR%;%JPEGDIR%/lib;%TIFFDIR%/libtiff;%TIFFDIR%/libs;%FREETYPEDIR%/objs;%FREETYPEDIR%/lib;%PODOFODIR%/lib;%LIBXMLDIR%/lib -DLIBPODOFO_SHARED=%PODOFOSHARED% -DFREETYPE_DIR:PATH=%FREETYPEDIR% -DFREETYPE_LIBRARY:PATH=%FREETYPEDIR%/objs/freetype235MT.lib -DLIBPODOFO_INCLUDE_DIR:PATH=%PODOFODIR%/podofo -DLIBPODOFO_LIBRARY:PATH=%POFOFODIR%/lib/PoDoFoLib.lib -DPREFIX_CAIRO:PATH=%CAIRODIR% -DCMAKE_INSTALL_PREFIX=c:/developer/scribus-bin -DJPEG_NAMES:STRING=libjpeg -DBOOST_ROOT:PATH=C:/developer/lib/boost_1_35_0 -DUSE_QT_ZLIB_PNGLIB=1 ../ScribusSVN
注意:目录可能需要进行相应修改;
此外,在scribusSVN/cmake/modules/目录下的FindJPEG文件需要进行如下修改
将
GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
改为
GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH JPEG_LIBRARY_RELEASE PATH)
3)运行build.cmd即可生成sln文件
4.编译VC项目
将其中scribus和scribus_desaxe_lib的编译选项改为MT;
将scribus的链接输入中的podofo.lib的路径改对;scribus的链接选项忽略掉LIBCMT.lib;
直接编译scribus项目即可。
然后将那些需要的dll拷到生成的scribus.exe目录下,就可以双击运行了。