Mac用ライスペイント(Mac OS X用Qtアプリケーションの構築方法)

更新しました。 さまざまなLinuxディストリビューションのテストを支援するには-Risovaski Friendsグループに参加してください

1月初旬に、私はMac用のRisovaskaの最初の動作バージョンをまとめましたが、たった2日前に他の人に見せることを恥じないバージョンがありました。 まず、Macへの移植に時間がかかった理由を説明し、次にQt for Mac OS Xでプロジェクトをビルドする方法を説明します

なぜそんなに長い


チームにMacの専門家はいませんでした

Risovaskaチーム全体がMac OS Xにあまり精通していないことが、どういうわけか起こりました。UbuntuとWindowsを使用していました。 昨年、Mac Booksをいくつか購入しましたが、追加のツールとしてのみ使用していました。 そして、長年の友人で経験豊富なマコボッド・ヴァレリー・ヒオラが私たちを助け始めたときだけ、問題は地面から移動しました。 ユニバーサルバージョンの組み立てにおける彼の助けは特に貴重でした。内部メカニズムを深く理解せずに5回5回組み立てようとしましたが、毎回それを行うことはほとんどできませんでした。 しかし、今私はconfig.logを読むことができます:)

Mac OS XでのQt(4.5.0および4.5.1)の動作にエラーがあります

C ++とQtを使用してMacプログラムを作成する人はほとんどいないと思います。 どうやら、彼らは主にネイティブツールを使用しています-Objective-C、Cocoa。 Qtのあちこちに、小さな欠陥、スタイルとレイアウトの異なる動作、その他の問題があります。

XcodeはVisual Studioとは大きく異なります

完全に異なるインターフェイススキーム、完全に異なる(非常に弱い)Qtサポート。 あなたがそれに慣れるまで、最も簡単なアクションには多くの時間がかかります。 さらに、これはまだUnixであるため、多くのことをバッチファイルに入れる必要があり、毎回手動で行う必要はありません。これは、Mac OS Xの開発とWindowsの開発を区別します。 個人的にはコンソールが本当に好きでした。

Mac OS Xはまったく異なる世界です

残りの部分については、Mac OS Xは、勉強し、愛し、友達になるために必要な本当に異なる世界であると自分で判断するだけの勇気がありませんでした。

Mac OS XでQtプロジェクトを構築するためのクイックスタートガイド


Qtを使用してWindowsで何らかの種類のアプリケーションを作成し、Mac OS Xでビルドしたい場合、簡単な手順を以下に示します。

1. Xcodeの最新バージョンをインストールします。gccコンパイラーもインストールされます

2. Qtをダウンロード-www.qtsoftware.com/downloads、Framework Only(122 Mb)をダウンロードしました

3.プロジェクトの詳細を考慮してQtを収集します(静的バージョンを収集しました)。

cd /tmp/qt-mac-opensource-desktop-4.5.1
./configure -prefix /Developer/Qt -qt-zlib -qt-libpng -qt-libjpeg -svg -qt-libtiff
-qt-libmng -qt-gif -qt-sql-sqlite -openssl -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk -static -release

-prefix / Developer / Qt-Qtをインストールする場所
-qt-zlib -qt-libpng -qt-libjpeg -svg -qt-libtiff -qt-libmng -qt-gif -qt-sql-sqlite-プラグインQtプラグインのリスト
-openssl-opensslサポート付きでビルドします(事前にインストールする必要があります)
-universal-IntelおよびPowerPCプロセッサーで動作します
-sdk /Developer/SDKs/MacOSX10.4u.sdk-SDK 10.4ユニバーサルへのパス
-static-静的バージョン
-release-主なQtのバグを既にデバッグしているため、リリースバージョンのみ

make -j 4 sub-src
sudo make install

-j 4-4つのスレッドに収集し、デュアルコアプロセッサの存在下でアセンブリを高速化しますが、車に負荷がかかります
sub-src-「コア」Qtのみを収集し、あらゆる種類の例や追加のユーティリティを収集しません

〜/ .bash_profileに追加:
PATH="/Developer/Qt/bin:$PATH"
export PATH
export QTDIR=/Developer/Qt
export QMAKESPEC=macx-g++

Qtがインストールされました。

4. Xcodeプロジェクトファイルを生成する

通常、Windowsプロジェクトファイルは.slnおよび.vcprojです。 プロジェクトに属するファイル、接続する追加ライブラリなどを示します。 同じファイルを作成する必要がありますが、Xcode用です。 良いニュースは、プロジェクトを変更するたびに手動で収集する必要がないことです。このプロセスは自動化できるためです。

プロジェクトがMoodBox(UI、ネットワーク、その他すべて)とVelasquez(描画エンジン)の2つのフォルダーで構成されているとしましょう。 Windowsでは、MoasBox.vcprojがあります。これには、Velasquesフォルダーから必要なすべてのファイルが含まれています

4.1お気に入りのエディターでMacOS.proプロジェクトの説明を含むファイルを作成します

#
TRANSLATIONS = moodbox_en.ts \
moodbox_ru.ts

# Qt
QT += network xml svg
QTPLUGIN += qjpeg qgif qmng qsvg qtiff

#
ICON = moodbox-dock.icns
TARGET = MoodBox

# include
INCLUDEPATH += /sw/include/ImageMagick /sw/include/ImageMagick/Magick++
LIBS += -lMagick++ -lMagickCore -lMagickWand
LIBS += -L/sw/lib/

# DEBUG,
DEFINES += DEBUG

# bundle
data.path = Contents/Resources
data.files = $$(PWD)/Avatars $$(PWD)/Clipart $$(PWD)/Sound $$(PWD)/catalogue.pal
QMAKE_BUNDLE_DATA += data

QMAKE_INFO_PLIST = MoodBox_Info.plist

# , MoodBox,
HEADERS -= _PaletteConverter/stdafx.h \
_PaletteConverter/targetver.h

SOURCES -= _PaletteConverter/PaletteConverter.cpp \
_PaletteConverter/stdafx.cpp \
qtsingleapplication_win.cpp \
qtsingleapplication_x11.cpp

# Velasquez

HEADERS += ../../Velasquez/Qt/backgroundelement.h \
../../Velasquez/Qt/backgroundtool.h \
../../Velasquez/Qt/undocommands.h \
../../Velasquez/Qt/varianthash.h \
../../Velasquez/Qt/vcommon.h

SOURCES += ../../Velasquez/Qt/backgroundelement.cpp \
../../Velasquez/Qt/backgroundtool.cpp \
../../Velasquez/Qt/brushdrawingelement.cpp \
../../Velasquez/Qt/undocommands.cpp \
../../Velasquez/Qt/varianthash.cpp

このファイルを変更する必要があるのは、設定を変更する場合、または他のフォルダーのファイルを含める/除外する場合のみです。 MoodBoxフォルダーからの新しいファイルは自動的に接続します。

4.2次に、Xcodeプロジェクトを生成するmake-pro.shスクリプトを作成します

qmake -project -o MoodBox_Mac.pro
cat MoodBox_Mac.pro MacOS.pro > tmp.pro
mv tmp.pro MoodBox_Mac.pro
qmake -spec macx-xcode MoodBox_Mac.pro

4.3 Xcodeで受け取ったMoodBox_Mac.xcodeprojを開き、プロジェクトフォルダーの選択に同意します。

4.4 Xcodeメニューに移動します:プロジェクト-アクティブなターゲットを編集し、次のパラメータを設定します:

Architectures = Standard (32-bit Universal)
Base SDK = Mac OS X 10.5
Build active architectures only = disabled

5.大きなボタン「Build and Go」をクリックします

プロジェクトがそれほど複雑ではない場合、プログラムはコンパイル、リンク、起動されます。 複雑な場合(他のライブラリとの依存関係があり、Windows固有のコードがあり、.qssスタイルが積極的に使用されている)、作業する必要があります-#ifdefでプラットフォーム固有のコードを選択し、スタイルシートを一般的なスタイルとプラットフォーム固有のスタイルに分割し、アプリケーションをダウンロードするときにこれらのファイルを接着し、ユニバーサルサポートを使用してサードパーティライブラリを収集します。

そして、これはRisovaskaMacバージョンです -static.risovaska.ru/Risovaska_Mac.zip
この投稿またはRisovaskiコミュニティの友達にコメントでフィードバックを送信してください

Source: https://habr.com/ru/post/J59057/


All Articles