在windows下编译scribus

编译的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生成scribusVC项目

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目录下,就可以双击运行了。

你可能感兴趣的:(windows,dll,qt,Path,include,library)