Ubuntu编译WizNote
写在最前
使用的是Zorin OS,基于Ubuntu的发行版。
环境准备
安装git
sudo apt-get install git
安装编译工具
sudo apt-get install build-essential
安装CMake
sudo apt-get install cmake
安装ZLib
sudo apt-get install zlib1g-dev
克隆为知笔记
cd ~
mkdir WizTeam
cd WizTeam
#这里版本号为:2.5.6
git clone https://github.com/WizTeam/WizQTClient.git
项目中有Bug,产生原因是由于C++头文件引入顺序不对导致,文件路径
src/sync/WizKMSync.cpp
修正如下
/* 把第一行的这个头文件注释掉 */
//#include "WizKMSync.h"
/* 放到这个头文件的下面 */
#include "WizKMSync_p.h"
#include "WizKMSync.h"
安装Qt 5.7.0 for Linux 64-bit (715 MB) 或者更高版本
wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run
chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run
编译源代码
运行QtCreator,菜单栏选择文件->打开文件或项目->选中CMakeLists.txt->打开
选中Minimum Size Release 并配置编译过后文件的保存路径
这部分略~
修复为知笔记无法切换中文输入法的问题
经过上面的步骤编译好为知笔记的客户端之后你会发现虽然能正常登录和同步文章,但是在新建文章中切换中文输入法输入中文是无效的,下面介绍如何解决这个问题。
关于原因
网上给的说法是由于Qt5的兼容性问题导致为知笔记使用fcitx输入法录入汉字会有问题,解决办法是自己编译fcitx-qt5,安装部署 libfcitxplatforminputcontextplugin.so即可。
安装 fcitx-libs-dev
sudo apt-get install fcitx-libs-dev
设置qmake环境变量
找到你电脑上qmake的路径,我的是/home/xavier/Qt5.7.0/5.7/gcc_64/bin/
export PATH="/home/xavier/Qt5.7.0/5.7/gcc_64/bin/":$PATH
下载fcitx-libs源码
git clone https://github.com/fcitx/fcitx-qt5.git
编译
进入fcitx-qt5目录执行cmake来生成Makefile文件,使用-D参数指定Qt5_DIR路径
cd fcitx-qt5/
cmake -D Qt5_DIR=/home/eason/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5 .
# 或者直接
cmake .
make
sudo make install
将编译好的libfcitxplatforminputcontextplugin.so文件copy到/home/eason/Qt5.7.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts目录。 重启系统。
问题汇总
问题1
xavier@newgr8player:~/fcitx-qt5$ cmake .
CMake Error at CMakeLists.txt:8 (find_package):
Could not find a package configuration file provided by "ECM" (requested
version 1.4.0) with any of the following names:
ECMConfig.cmake
ecm-config.cmake
Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
to a directory containing one of the above files. If "ECM" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/xavier/fcitx-qt5/CMakeFiles/CMakeOutput.log".
xavier@newgr8player:~/fcitx-qt5$
解决办法
先下载cmake的扩展模块包
sudo wget https://launchpadlibrarian.net/189487929/extra-cmake-modules_1.4.0.orig.tar.xz
解压
tar -xJf extra-cmake-modules_1.4.0.orig.tar.xz
进入解压后的目录,执行cmake来生成Makefile文件,使用-D参数指定Qt5_DIR路径(你的安装路径可能不一样)
cd extra-cmake-modules-1.4.0/
cmake -D Qt5_DIR=/home/xavier/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5 .
sudo make install
问题2
cmake -D Qt5_DIR=/home/xavier/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5 .
-- Could NOT find XKBCommon_XKBCommon (missing: XKBCommon_XKBCommon_LIBRARY XKBCommon_XKBCommon_INCLUDE_DIR)
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find XKBCommon (missing: XKBCommon_LIBRARIES XKBCommon) (Required
is at least version "0.5.0")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
cmake/FindXKBCommon.cmake:30 (find_package_handle_standard_args)
CMakeLists.txt:31 (find_package)
解决办法
下载libxkbcommon-0.5.0.tar.xz, 然后解压编译, 编译的时候需要yacc的支持,所以最先要安装bison
sudo apt-get install bison
wget http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz
tar -xJf libxkbcommon-0.5.0.tar.xz
cd libxkbcommon-0.5.0/
使用./configure –disable-x11来生成Makefile, 这里使用–disable-x11来禁用x11,否则会报错 configure: error: xkbcommon-x11 requires xcb-xkb >= 1.10 which was not found. You can disable X11 support with –disable-x11.
./configure --disable-x11
make
sudo make install
本博客所有文章除特别声明外均采用CC BY-NC-SA 4.0许可。转载请注明来自https://newgr8player.com。
本文链接:https://newgr8player.com/2018/03/09/Complie-WizNote-On-Ubuntu/