Scribus v1.5.5源碼編譯,使用VS2017+Qt5.12.7環境

軟件官網

https://www.scribus.net/

https://wiki.scribus.net/canvas/Scribus

https://github.com/scribusproject/scribus

https://sourceforge.net/projects/scribus/files/scribus/ 穩定版

https://sourceforge.net/projects/scribus/files/scribus-devel/ develop版 【推薦】

https://sourceforge.net/projects/scribus/files/scribus-svn/ 搶鮮版

https://sourceforge.net/projects/scribus/files/scribus-libs/ 依賴庫

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

 

軟件簡介

Scribus官方版是一款專業的桌面排版軟件 ( Open Source Desktop Publishing) ,它可用於電子雜誌製作,類似Adobe Pagemaker。Scribus功能強勁,支持大多數主要的圖像格式,可以輕鬆製作個人文件、郵件列表、電子雜誌等。作爲一個排版軟件,Scribus具有一定的矢量圖形繪製(雙擊輪廓圖形即可編輯)和整合功能。軟件開源,跨平臺,C++/Qt編寫,支持Linux/Unix,MacOS X,OS/2和Windows操作系統。

功能特點

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

2、專業的字型/圖像設置功能包括CMYK顏色和ICC色彩管理;

3、以C++寫編的,使用Python爲內置腳本;

4、有超過24種語言的國際化支援;

5、體積小巧,可放在U盤隨身攜帶;

6、輕鬆製作個人文件、郵件列表、電子雜誌等。

7、風格工具、對齊工具、頁面劃分工具都是分離的——都位於菜單裏。

8、擁有路徑工具,可以和Inkscape、sK1、GIMP很好的協同工作。

 

軟件支持的文件類型

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

https://sourceforge.net/projects/scribus/files/scribus-devel/

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-msvc2015\scribus-libs-msvc2015.sln,直接編譯即可。因爲scribus-lib-paths.props已經把依賴環境配置好了,暖心啊!

VS IDE主菜單-生成-批生成-全選-編譯,編譯過程會報錯:

------ 已啓動生成: 項目: harfbuzz, 配置: Release x64 ------
LINK : fatal error LNK1181: 無法打開輸入文件“icudt.lib”
已完成生成項目“harfbuzz.vcxproj”的操作 - 失敗。
------ 已啓動生成: 項目: harfbuzz, 配置: Release Win32 ------
LINK : fatal error LNK1181: 無法打開輸入文件“icudt.lib”
已完成生成項目“harfbuzz.vcxproj”的操作 - 失敗。
------ 已啓動生成: 項目: harfbuzz, 配置: Debug x64 ------
LINK : fatal error LNK1104: 無法打開文件“icudt.lib”
已完成生成項目“harfbuzz.vcxproj”的操作 - 失敗。
------ 已啓動生成: 項目: harfbuzz, 配置: Debug Win32 ------
LINK : fatal error LNK1104: 無法打開文件“icudt.lib”
已完成生成項目“harfbuzz.vcxproj”的操作 - 失敗。
========== 生成: 成功 0 個,失敗 4 個,最新 100 個,跳過 0 個 ==========

是因爲找不到icudt.lib的路徑,把lib所在文件夾的名稱Win32-v140改爲Win32-v141即可。64位同樣的。

scribus-1.5.x-libs-msvc2015\icu-65.1\lib\Win32-v141

scribus-1.5.x-libs-msvc2015\icu-65.1\lib\x64-v141

(3)文件編輯器打開,scribus-1.5.5\win32\msvc2015\Scribus-build-props.props,修改相關的Qt環境爲自己本機的:

<PropertyGroup Label="UserMacros">
	<SCRIBUS_LIB_ROOT>F:\tmp-source\qt-hmi\scribus\scribus-1.5.x-libs-msvc2015</SCRIBUS_LIB_ROOT>
  </PropertyGroup>
  <Import Project="$(SCRIBUS_LIB_ROOT)\scribus-lib-paths.props" />
  <!-- Import Qt5 -->
  <PropertyGroup Label="UserMacros">
	<!-- Qt5 -->
	<QT5_DIR Condition="'$(Platform)' == 'Win32' and '$(PlatformToolset)' == 'v141'"   >F:\Qt\Qt5.12.7\5.12.7\msvc2017</QT5_DIR>
	<QT5_DIR Condition="'$(Platform)' == 'x64'   and '$(PlatformToolset)' == 'v141'"   >F:\Qt\Qt5.12.7\5.12.7\msvc2017_64</QT5_DIR>

然後VS2017打開文件,scribus-1.5.x-libs-msvc2015\Scribus.sln,直接編譯即可。

VS IDE主菜單-生成-批生成-全選-編譯,編譯過程會報錯:

錯誤1:

解決辦法:

EditPlus編輯器分別打開about.cpp和fontlistmodel.cpp,把編碼修改爲UTF-8 + BOM。

錯誤2:

使用vs2017編譯插件,scribus-1.5.5\scribus\plugins\import\pdf\,會報一堆錯誤,先不管它,把相關代碼註釋掉即可。畢竟這個是pdf插件,我用不到它。

 

3、結果文件

最終編譯出來的exe結果文件在scribus\Scribus-builds\,用戶需要手動把dll拷貝過來。尤其要記得把python文件夾裏的相關內容拷貝過來。以x64位爲例,拷貝scribus-common-libs\python-2.7.15-amd64到scribus\Scribus-builds\,文件夾重命名爲python。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章