Linux
[Qt] Zipファイルを扱う(Linux,macOS)
Linux、macOSを試してみる。
[Qt] Zipファイルを扱う(Windows,VS2017)のときと同じようにQtからお手軽にZIPファイルを扱えるQuaZIPの紹介 - 理ろぐのページを参考に試してみた。
Linux
Linuxは、Ubuntu 18.04.2 LTSを使用した。
quazip-0.7.6フォルダがあるディレクトリで
mkdir build-quazip-linux-x64
cd build-quazip-linux-x64
を実行する。
そしてビルド&インストール。
qmake -r ../quazip-0.7.6/quazip/quazip.pro "PREFIX=../../quazip/linux-x64" LIBS+=-lz
make all
make install
macOS
ターミナルを起動して、Qtのqmakeのあるところにパス(うちは~/Qt/5.12.3/clang_64/bin)を通す。
quazip-0.7.6フォルダがあるディレクトリで
mkdir build-quazip-macos-x64
cd build-quazip-macos-x64
を実行する。
そしてビルド&インストール。
qmake -r ../quazip-0.7.6/quazip/quazip.pro "PREFIX=../../quazip/macos-x64" LIBS+=-lz
make all
make install
quazipフォルダができ、そこにシェアドライブラリやヘッダなんかがインストールされる。
次に参考にしたページにあった"quazip.pri"を見よう見まねでこんな感じにした。
# for quazip
QUAZIP_DIR = $${PWD}/../quazip
mingw:{
equals(QT_ARCH, "x86_64"):{
# 64bit
QUAZIP_DIR = $$QUAZIP_DIR/mingw-x64
}else{
# 32bit
QUAZIP_DIR = $$QUAZIP_DIR/mingw-x86
}
} else: win32:{
equals(QT_ARCH, "x86_64"):{
# 64bit
QUAZIP_DIR = $$QUAZIP_DIR/x64
}else{
# 32bit
QUAZIP_DIR = $$QUAZIP_DIR/x86
}
} else: macos: {
QUAZIP_DIR = $$QUAZIP_DIR/macos-x64
} else: unix: {
equals(QT_ARCH, "x86_64"):{
# 64bit
QUAZIP_DIR = $$QUAZIP_DIR/linux-x64
}else{
# 32bit
QUAZIP_DIR = $$QUAZIP_DIR/linux-x86
}
}
INCLUDEPATH += $$QUAZIP_DIR/include/quazip
CONFIG(debug,debug|release){
mingw: {
LIBS += -L$$QUAZIP_DIR/bin/ -lquazipd
} else:win32:{
LIBS += $$QUAZIP_DIR/bin/quazipd.lib
}
}else{
mingw: {
LIBS += -L$$QUAZIP_DIR/bin/ -lquazip
} else:win32: {
LIBS += $$QUAZIP_DIR/bin/quazip.lib
}
}
unix: LIBS += -L$$QUAZIP_DIR/lib/ -lquazip
# for zlib
win32: INCLUDEPATH += $$[QT_INSTALL_PREFIX]/include/QtZlib
# copy library file
win32:{
CONFIG(debug,debug|release){
QUAZIP_LIB_PATH=$$QUAZIP_DIR/bin/quazipd.dll
APP_BUILD_DIR=$$shadowed($${PWD})/debug
}else{
win32:QUAZIP_LIB_PATH=$$QUAZIP_DIR/bin/quazip.dll
APP_BUILD_DIR=$$shadowed($${PWD})/release
}
QUAZIP_LIB_PATH ~= s|/|\|gi
APP_BUILD_DIR ~= s|/|\|gi
}else:macos:{
QUAZIP_LIB_PATH=$$QUAZIP_DIR/lib/libquazip.*
APP_BUILD_DIR=$$shadowed($${PWD})
}else{
QUAZIP_LIB_PATH=$$QUAZIP_DIR/lib/libquazip.so.*
APP_BUILD_DIR=$$shadowed($${PWD})
}
copyquazip.commands = $(COPY_DIR) $$QUAZIP_LIB_PATH $$APP_BUILD_DIR
QMAKE_EXTRA_TARGETS += copyquazip
[Windows10]WSLでGUIアプリを動かす。
WSLは、基本テキストベースのCLIアプリを動かすためのものみたいで、Windowsで動くXサーバーをインストールする必要がある。
Xサーバーには、安売りしてたX410を購入した。
sudo apt install x11-apps x11-utils x11-xserver-utils
.bashrcの最後の方にexport DISPLAY=localhost:0.0を追加する。
これで、GUIアプリが動作するようになる。
で、AzPainerをコンパイルして起動してみたら、アルファベットのところが化けてた。(^^;)
フォントが入ってないんだろうなーと思いどれだと調べてみると、
それっぽいのが・・・
sudo apt install xfonts-base xfonts-scalable
外れでしたw
ただ、説明からするとbaseはstandard fonts for Xなんで入れといてもいいだろー。
いろいろ、フォントをツッコんでいくと、
sudo apt install fonts-noto-cjk fonts-noto-color-emoji
で、表示されるようになった。そして、漢字もいわゆる中華フォントだったものも解消。
次は、日本語入力だな。
(追記)
WSL2だと、DISPLAYのところはつぎのようにする。
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
X Server (X410)を導入して、いい感じのターミナルでWSL2を使おう - Qiitaより
[Windows10] WSLを日本語化
WSL(Windows Subsystem for Linux)とは、Window10上にLinuxのAPIと互換性のあるサブシステムである。つまり、WSLを導入するとLinux用の実行ファイル(バイナリ)をWindows上でそのまま実行できるようになる。
試しにWSLにUbuntuを入れていじってみていた。本格的に使っていなかったのもあるが、日本語化されていないのも気づかずにつかっ ていたんだよねw
Xサーバと組み合わせ使おうと思ってネットを検索していたら、こんな(WSLのUbuntu環境を日本語化する:Tech TIPS - @IT)のを見つけてとりあえずやってみた。
# 2.日本語言語パックのインストール
sudo apt -y install language-pack-ja
# 3.ロケールを日本語に設定
sudo update-locale LANG=ja_JP.UTF8
# 4.ここでいったん終了してから、Ubuntuを再起動
# 5.タイムゾーンをJSTに設定
sudo dpkg-reconfigure tzdata
# 6.日本語マニュアルのインストール
sudo apt -y install manpages-ja manpages-ja-dev
emacsメモ2
とりあえず、現時点(2019/1/16)での~/.emacs.d/init.elの内容~
emacs-mozcをインストールして、mozcで日本語入力するようにしている。
; 日本語入力の設定
(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
; AndroidのsshでC-\が効かなかったから追加した。
(global-set-key (kbd "C-j") 'toggle-input-method)
; デフォルトの文字コードをutf-8にする
(prefer-coding-system 'utf-8)
; C-x C-fでファイル一覧した時に日本語ファイル名が化けるのを回避
(set-file-name-coding-system 'utf-8)
; shellの文字化けを回避。
(add-hook 'shell-mode-hook
(lambda()
(set-buffer-process-coding-system 'utf-8 'utf-8)
))