桌面排版软件Scribus v1.5.5源码编译,使用VS2017+Qt5.12.7环境

软件官

Scribus – Open Source Desktop Publishing

Scribus Wiki

Scribus Forums – Index 官方论坛

WebSVN – Scribus – Rev 24972 – / 官方svn,源码版本管理

https://github.com/scribusproject/scribus

Scribus – Browse /scribus at SourceForge.net 源码稳定版

Scribus – Browse /scribus-devel at SourceForge.net 源码develop版 【推荐】

Scribus – Browse /scribus-svn at SourceForge.net 抢鲜版

Scribus – Browse /scribus-libs at SourceForge.net 依赖库 【必须】

注意: scribus v1.4.x基于Qt4;v1.5.x基于Qt5

姊妹版本

Draw Freely | Inkscape

Inkscape / inkscape · GitLab Inkscape vector image editor,C++/GTK+,内置了几何库2geom(inkscape-INKSCAPE_1_0_2src2geom源码使用C++14编译器,依赖boost)

Inkscape / lib2geom · GitLab Easy to use 2D geometry library in C++,新版本使用C++ 17编译器

关于2geom库的用法:

src/path · master · Inkscape / inkscape · GitLab

tests · master · Inkscape / lib2geom · GitLab

山寨版本

https://github.com/nitramr/indigoDock

https://github.com/nitramr/scribus-indigo

https://github.com/nitramr/Draftoola

矢量绘图软件

https://github.com/egan2015/qdraw

https://github.com/iynaur/iynaur-s-vector-drawing

软件简介

功能特点

1、scribus官方版支持大多数主要的图像格式;

2、专业的字型/图像设置功能包括CMYK颜色和ICC色彩管理;

3、以C++写编的,使用Python为内置脚本;

4、有超过24种语言的国际化支援;

5、体积小巧,可放在U盘随身携带;

6、轻松制作个人文件、邮件列表、电子杂志等。

7、风格工具、对齐工具、页面划分工具都是分离的——都位于菜单里。

8、拥有路径工具,可以和Inkscape、sK1、GIMP很好的协同工作。

9、使用Cairo作为绘图引擎(详情参见:开源项目推荐:OpenGL/Vulkan/Cairo/Skia/angle/VTK/OpenVG/MyPaint/GIMP/Krita等绘图库或画图软件_$firecat全宏的代码足迹$-CSDN博客)

软件支持的文件类型

Scribus完整支持SVG 1.0规范,能够利用sK1衍生项目UniConvertor把其他格式改为SVG从而支持导入、导出(内部处理不使用svg,所以svg是导入导出的)。

导入

导入odt、纯文本。

支持svg、pdf导入,还有ai等格式(使用UniConverter)

输出

除了自身的存储类型为sla,还完整的导出支持EPS(Ghostscript),PDF,SVG(完整1.0规范),以及导出图片(这里也有EPS但是和前文提及不同)。

源码编译

1、源码和依赖库下载,v1.5.5

Scribus – Browse /scribus-devel at SourceForge.net 【源码】

Scribus – Browse /scribus-libs at SourceForge.net 【依赖库】

scribus-1.5.5.7z

scribus-1.5.x-libs-msvc2015-20200111.7z

scribus-common-libs-20200111.7z

解压缩这3个压缩包,这3个文件夹的路径是并行关系:

2、编译

(1)scribus-1.5.5.7里面有编译说明文档BUILDING_win32_msvc.txt,参照它来编译就ok。

(2)VS2017打开【依赖库】工程文件,scribus-1.5.x-libs-msvc2015scribus-libs-msvc2015.sln,直接编译即可。因为scribus-lib-paths.props已经把依赖环境配置好了,暖心啊!

VS IDE主菜单-生成-批生成-全选-编译,编译过程会 错:

是因为找不到icudt.lib的路径,把lib所在文件夹的名称Win32-v140改为Win32-v141即可。64位同样的。

scribus-1.5.x-libs-msvc2015icu-65.1libWin32-v141

scribus-1.5.x-libs-msvc2015icu-65.1libx64-v141

然后VS2017打开【源码】工程文件,scribus-1.5.x-libs-msvc2015Scribus.sln,直接编译即可。

VS IDE主菜单-生成-批生成-全选-编译,编译过程会 错:

错误1:

解决办法:

F:tmp-sourceqt-hmiscribusscribus-1.5.5scribusfontlistmodel.cpp

F:tmp-sourceqt-hmiscribusscribus-1.5.5scribusuiabout.cpp

错误2:

使用vs2017编译插件,scribus-1.5.5scribuspluginsimportpdf,会 一堆错误,先不管它,把相关代码注释掉即可。毕竟这个是pdf插件,我用不到它。

3、结果文件

最终编译出来的exe结果文件在scribusScribus-builds,用户需要手动把dll拷贝过来。尤其要记得把python文件夹里的相关内容拷贝过来。以x64位为例,拷贝scribus-common-libspython-2.7.15-amd64到scribusScribus-builds,文件夹重命名为python

补充说明v1.5.6.1+VS2019+Qt5.12.9环境

1、下载源码和依赖库

scribus-1.5.6.1

scribus-1.5.x-libs-msvc2019

scribus-common-libs

2、先编译依赖库,x64,scribus-1.5.x-libs-msvc2019

F:Softwaretmp-sourceqt-hmiscribusscribus-1.5.x-libs-msvc2019scribus-libs-msvc2019.sln

3、再编译源码,x64,scribus-1.5.6.1

F:Softwaretmp-sourceqt-hmiscribusscribus-1.5.6.1win32msvc2019Scribus-build-props.props,修改SCRIBUS_LIB_ROOT和QT5_DIR

F:tmp-sourceqt-hmiscribusscribus-1.5.6.1scribusfontlistmodel.cpp

F:tmp-sourceqt-hmiscribusscribus-1.5.6.1scribusuiabout.cpp

最后打开【源码】工程文件编译

F:Softwaretmp-sourceqt-hmiscribusscribus-1.5.6.1win32msvc2019Scribus.sln

4、插件编译如果 错,不理会,注释掉

F:Softwaretmp-sourceqt-hmiscribusscribus-1.5.6.1scribuspluginsgettextmarkdownimmarkdownim.cpp

5、Debug生成的exe目标路径在:

F:Softwaretmp-sourceqt-hmiscribusScribus-buildsScribus-Debug-x64-v142

把文件夹F:Softwaretmp-sourceqt-hmiscribusscribus-common-libspython-3.7.9-amd64拷贝到F:Softwaretmp-sourceqt-hmiscribusScribus-buildsScribus-Debug-x64-v142,修改文件夹名为“python”

把文件夹F:Softwaretmp-sourceqt-hmiscribusscribus-1.5.x-libs-msvc2019里面各个库的dll文件拷贝到F:Softwaretmp-sourceqt-hmiscribusScribus-buildsScribus-Debug-x64-v142

6、大功告成!可以运行Scribus.exe!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月10日
下一篇 2022年7月10日

相关推荐