Linux

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

このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

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

で、表示されるようになった。そして、漢字もいわゆる中華フォントだったものも解消。

次は、日本語入力だな。

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

とりあえず、現時点(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)
    ))
このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

マルチブート環境の全OSで同じBluetoothデバイスを使う - hnwの日記

最新のmacOSでも通用するのか?と、ちょっと面倒くさいなー

↑このページのトップヘ