LoginSignup
0
0

More than 5 years have passed since last update.

Hippo Notes インストールの際のQt周りのエラーについて.

Last updated at Posted at 2017-03-28

経緯

 ubuntuで使用できるEvernoteクライアントのNixNote2というソフトを使用していた.しかし文字化が酷いので,他のソフトとしてHippo Notesを選んだ.
下準備はここを参考にした.

環境

  • ubuntu 16.04 lts
  • Qt5.5.1(インストール済み)

問題

公式通りにビルドを進めていき,$ makeコマンドを実行すると以下のエラーがでた.

pdfcache.h:10:25: fatal error: poppler-qt4.h: そのようなファイルやディレクトリはありません
compilation terminated.
Makefile:894: ターゲット 'tmp/main.o' のレシピで失敗しました
make: *** [tmp/main.o] エラー 1

解決

どうやらQtのバージョン4に関するエラーらしい.Qt5をインストールしてあるのに何故・・・?
エラーが出たファイルpdfdcache.hを見てみる.

pdfdcache.h
if QT_VERSION >= 0x050000
include <poppler-qt5.h>
else
include <poppler-qt4.h>
endif

インストールしてあるのQtのバージョンでそれぞれのファイルを指定しているみたい.何故かQt5ではなくQt4として認識されている模様.

現在のQtのバージョンを確認する.

$ qmake -query QT_VERSION
$ 4.8.7

Qt4がデフォルトでインストールされていることが判明した.

こいつをQt5に変えてやる.
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf

/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
でQtのバージョンを選択してやる.自分は後者で選択をした.

default.conf変更前
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu

qt4と書いてある場所を5にしてやる.

default.conf変更後
/usr/lib/x86_64-linux-gnu/qt5/bin
/usr/lib/x86_64-linux-gnu

もう一度バージョンを確認する.

qmake -query QT_VERSION
5.5.1

これで直ったので再びビルドする.

$ make clean
$ qmake
$ make

終わったと思ったら再びエラーがでた.

$ 3rdparty/qtsingleapplication/qtlocalpeer.cpp: In member function ‘bool QtLocalPeer::sendMessage(const QString&, int)’:
3rdparty/qtsingleapplication/qtlocalpeer.cpp:160:19: error: variable ‘QDataStream ds’ has initializer but incomplete type
     QDataStream ds(&socket);
                   ^
$ 3rdparty/qtsingleapplication/qtlocalpeer.cpp: In member function ‘void QtLocalPeer::receiveConnection()’:
3rdparty/qtsingleapplication/qtlocalpeer.cpp:180:26: error: variable ‘QDataStream ds’ has initializer but incomplete type
     QDataStream ds(socket);

配布ファイルにインクルードし忘れがあったみたい.公式がおちゃめさん.

./hippo/3rdparty/qtsingleapplication/qtlocalpeer.cpp
の先頭部分にQDataStreamを新しく追加する.

qtlocalpeer.cppの変更後
#include "qtlocalpeer.h"
#include <QCoreApplication>

#include <QDataStream>

#include <QTime>

もう一度,

$ make clean
$ qmake
$ make

ようやく完了.

終わりに

Hippo Notesで普通にEvernoteを使うことが出来た.しかし,ビジネスノートを読み込むことができなかったので,結局wineで公式クライアントを使用している.ビジネスノートを使わない人にはいいかもしれない.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0