-->

Mac

QtでmacOS用にビルドするとAPP Bundleでできるんだけど、アイコンがデフォルトだったり、ダイナミックリンクライブラリが入ってなかったりするので、それをいい感じする方法をメモっておく。忘れそうなんで(^^;)

まず、アイコン。
まずは、

  • アイコンをPNGファイルで1024x1024、512x512、256x256、128x128、64x64、32x32、16x16のサイズで作る。
  • PNGファイルから拡張子icnsっていうファイルを作る。
    • Xcodeを起動して新規のmacOSのAppを作る。(SwiftUIのアプリにしてみた)
    • 左側のリストからAssets.xcassetsを選んでAppIconを選ぶ。
    • それぞれサイズのところにPNGファイルをドラッグ&ドロップする。
    • ビルドする。
    • ~/Library/Developer/Xcode/DerivedData/<プロジェクト名>-<何かアルファベット列>/Build/Products/Debug/<プロジェクト名>.app/Contents/Resources/AppIcon.icnsがアイコンファイルになる。

アイコンファイルはコマンドラインでiconutilを使っても作れる。

  • AppIcon.icnsをQtのプロジェクトにコピーする。
  • Qtのプロジェクトファイル(*.pro)をテキストエディタなどで開いて"ICON = AppIcon.icns"を追加する。
  • ビルドするとアイコンが設定されたBundleが作れる。

次は、ダイナミックリンクライブラリを含める。

  • Qtをインストールしたディレクトリの<Qtのバージョン>/clang_64/bin/にあるmacdeployqtを"macdeployqt app-bundle"のように実行する。

これでダイナミックリンクライブラリが含まれる。



このエントリーをはてなブックマークに追加

いつからかわかんないけど、Qtウィジェットアプリケーションで漢字を表示するといわゆる中華フォントになるようになったんだよねー。こんなふうに。

kanji1

続きを読む
このエントリーをはてなブックマークに追加

macOS Mojaveの仮想ディスクを拡張する方法 | ソフトアンテナブログ

このエントリーをはてなブックマークに追加

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

このエントリーをはてなブックマークに追加

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

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

このエントリーをはてなブックマークに追加

↑このページのトップヘ