- 主に、ユーザーフレンドリーな方法でアプリケーションを配布したい初心者のQt開発者向け。
- 他のプログラミング言語を使用する開発者(わずかな変更を加えることができます。
sudo aptitude install build-essential dh-make mingw32 alien wine qt4-dev-tools
ここでいくつかのパッケージを追加するのを忘れているかもしれませんが、スクリプトを実行するときに不足していることがわかります。PATHおよびLD_LIBRARY_PATHで、サイトからダウンロードしたQt-Sdkのqmakeおよびqtノキア
たとえば、パスを〜/ .bashrcに記述します。
また、ワインの下にNullsoft Scriptable Install Systemをダウンロードしてインストールする必要がありますが、Windows用のインストールパッケージを作成するために必要になります。export PATH =〜/ qtsdk-2010.01 / qt / bin /:$ PATH
export LD_LIBRARY_PATH =〜/ qtsdk-2010.01 / qt / lib /:$ LD_LIBRARY_PATH
EnvironmentキーをHKEY_CURRENT_USERに追加します。ここで、2つの文字列値を作成します。ワインの編集
- NSISDIR-C:\ Program Files \ NSIS
- パス-C:\ Program Files \ NSIS
$ QT_SDK_INSTALL_DIR / qt / mkspecs。プロジェクトのディレクトリにwin32-g ++をコピーし、名前をwin32-x-g ++に変更します。 次に、qmake.confを編集して、mingw32呼び出し、WindowsコマンドをLinuxコマンドに置き換えます。
クロスコンパイルの詳細については、 こちらをご覧ください 。 プロジェクトファイル(.pro)を編集します。 ファイル内のこれらの追加は、qmakeによって生成されたMakefileにインストールオプションを表示するために必要です。<pre> # #win32-g ++のqmake構成 # #MinGW用に作成 # MAKEFILE_GENERATOR = MINGW TEMPLATE =アプリ CONFIG + = qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header QT + =コアGUI DEFINES + = UNICODE QT_LARGEFILE_SUPPORT QMAKE_COMPILER_DEFINES + = __GNUC__ WIN32 QMAKE_EXT_OBJ = .o QMAKE_EXT_RES = _res.o QMAKE_CC = gcc QMAKE_LEX =フレックス QMAKE_LEXFLAGS = QMAKE_YACC = byacc QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON =-壁 QMAKE_CFLAGS_WARN_OFF = -w QMAKE_CFLAGS_RELEASE = -O2 QMAKE_CFLAGS_DEBUG = -g QMAKE_CFLAGS_YACC =-未使用-Wno-かっこ QMAKE_CXX = i586-mingw32msvc-g ++ QMAKE_CXXFLAGS = $$ QMAKE_CFLAGS QMAKE_CXXFLAGS_DEPS = $$ QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON = $$ QMAKE_CFLAGS_WARN_ON QMAKE_CXXFLAGS_WARN_OFF = $$ QMAKE_CFLAGS_WARN_OFF QMAKE_CXXFLAGS_RELEASE = $$ QMAKE_CFLAGS_RELEASE QMAKE_CXXFLAGS_DEBUG = $$ QMAKE_CFLAGS_DEBUG QMAKE_CXXFLAGS_YACC = $$ QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_THREAD = $$ QMAKE_CFLAGS_THREAD QMAKE_CXXFLAGS_RTTI_ON = -frtti QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions QMAKE_INCDIR = QMAKE_INCDIR_QT = $$ [QT_WIN_INCLUDE_PATH] QMAKE_LIBDIR_QT = $$ [QT_WIN_LIB_PATH] QMAKE_RUN_CC = $(CC)-c $(CFLAGS)$(INCPATH)-o $ obj $ src QMAKE_RUN_CC_IMP = $(CC)-c $(CFLAGS)$(INCPATH)-o $ @ $ < QMAKE_RUN_CXX = $(CXX)-c $(CXXFLAGS)$(INCPATH)-o $ obj $ src QMAKE_RUN_CXX_IMP = $(CXX)-c $(CXXFLAGS)$(INCPATH)-o $ @ $ < QMAKE_LINK = i586-mingw32msvc-g ++ QMAKE_LINK_C = gcc QMAKE_LFLAGS = -mthreads -Wl、-enable-stdcall-fixup -Wl、-enable-auto-import \ -Wl、-enable-runtime-pseudo-reloc -mwindows QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl QMAKE_LFLAGS_EXCEPTIONS_OFF = QMAKE_LFLAGS_RELEASE = -Wl、-s QMAKE_LFLAGS_DEBUG = QMAKE_LFLAGS_CONSOLE = -Wl、-subsystem、コンソール QMAKE_LFLAGS_WINDOWS = -Wl、-subsystem、windows QMAKE_LFLAGS_DLL = -shared QMAKE_LINK_OBJECT_MAX = 10 QMAKE_LINK_OBJECT_SCRIPT = object_script QMAKE_LIBS = QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 QMAKE_LIBS_NETWORK = -lws2_32 QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain !isEmpty(QMAKE_SH){ MINGW_IN_SHELL = 1 QMAKE_DIR_SEP = / QMAKE_COPY = cp QMAKE_COPY_DIR = xcopy / s / q / y / i QMAKE_MOVE = mv QMAKE_DEL_FILE = rm QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir QMAKE_CHK_DIR_EXISTS =テスト-d } else { QMAKE_COPY =コピー/ y QMAKE_COPY_DIR = xcopy / s / q / y / i QMAKE_MOVE =移動 QMAKE_DEL_FILE = del QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir QMAKE_CHK_DIR_EXISTS =存在しない場合 } QMAKE_MOC = $$ [QT_INSTALL_BINS] $$ {DIR_SEPARATOR} moc QMAKE_UIC = $$ [QT_INSTALL_BINS] $$ {DIR_SEPARATOR} uic QMAKE_IDC = $$ [QT_INSTALL_BINS] $$ {DIR_SEPARATOR} idc QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB + = ---ストリップ不要 ロード(qt_config)
Windowsアプリケーションに独自のアイコンを持たせる場合は、プロジェクトファイルに次の行を追加する必要があります。<pre> unix { #変数 isEmpty(PREFIX):PREFIX = / usr / local #PREFIXはインストールパスです BINDIR = $$ PREFIX / bin#バイナリへのパス DATADIR = $$ PREFIX / share#オプトアウトできるアプリケーションのさまざまなコンポーネントへのパス DEFINES + = DATADIR = \ "$$ DATADIR \" \ PKGDATADIR = \ "$$ PKGDATADIR \" #インストールする インストール+ =ターゲット\ デスクトップ\ ピックスマップ\ icon22 \ templates1 \ templates2 \ pagetemplates#INSTALLSにターゲットのみを残し、同様に、必要なディレクトリにライブラリのインストールを追加できます target.path = $$ BINDIR desktop.path = $$ DATADIR /アプリケーション/ desktop.files + = $$ {TARGET} .desktop pixmaps.path = $$ DATADIR / pixmaps / pixmaps.files + = images / $$ {TARGET} .png icon22.path = $$ DATADIR /アイコン/ hicolor / 22x22 /アプリ/ icon22.files + = images / $$ {TARGET} .png templates1.path = $$ DATADIR / yourownnewsmaker / templates / default / templates1.files =テンプレート/デフォルト/*.* templates2.path = $$ DATADIR / yourownnewsmaker /テンプレート/ eeex-sony-pdf / templates2.files = templates / eeex-sony-pdf /*.* pagetemplates.path = $$ DATADIR / yourownnewsmaker / page-templates / pagetemplates.files = page-templates /*.* }
そして、以下の内容でicons.rcファイルを作成しますwin32:RC_FILE = icons.rc
debパッケージをビルドします。 制御ファイルと変更ログファイルは非常に標準的なものであり、もう一度説明する必要はないと思います。 スクリプトを使用してアーカイブをダウンロードすると、ファイルの例を見ることができますが、すべてのスクリプトでタブが使用されているわけではないことに注意してください。 これはNSISにとってもdh_make.Rulesにとっても非常に重要です。しかし、結果としてAPPNAMEのみを指定する必要がある非常に普遍的なファイルが得られます。IDI_ICON1 ICON DISCARDABLE「パス/ / / your / icon.ico」
変更ログ-以下は一例です。ファイルはタブを使用しないことに注意してください。<pre> #!/ usr / bin / make -f APPNAME:= yourownnewsmaker builddir: mkdir -p builddir builddir / makefile:builddir cd builddir && qmake-qt4 PREFIX = / usr ../$(APPNAME).pro -spec linux-g ++ -r ビルド:ビルドスタンプ ビルドスタンプ:builddir / Makefile dh_testdir #ここにコマンドを追加して、パッケージをコンパイルします。 cd builddir && $(作成) $ @をタッチ きれいな: dh_testdir dh_testroot rm -f build-stamp #ここにコマンドを追加して、ビルドプロセス後にクリーンアップします。 rm -rf builddir dh_clean インストール:ビルド dh_testdir dh_testroot dh_clean -k dh_installdirs #ここにコマンドを追加して、パッケージをdebian / your_appnameにインストールします #cd builddir && $(MAKE)インストール cd builddir && $(MAKE)INSTALL_ROOT = $(CURDIR)/ debian / $(APPNAME)install #cd builddir && $(MAKE)インストール binary-indep:ビルドインストール binary-arch:ビルドインストール dh_testdir dh_testroot dh_installdocs dh_installexamples dh_installman dh_link dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb バイナリ:binary-indep binary-arch .PHONY:clean binary-indep binary-arch binary install configuregeをビルドします
ここでは、qtプロジェクトからdebパッケージを作成する方法についてもう少し読むことができます。 Windows用のNSISスクリプト。 このスクリプトは例に基づいて作成しましたが、余分なものは一切含まれておらず、ライセンスの表示、インストールパスの選択、およびアプリケーション自体のインストールのみを行っています。<pre> yourownnewsmaker(1.3)カルマ; 緊急度=低 *ソニーの電子書籍リーダー用の新しいテンプレートを追加。 *テンプレートに新しいファイルpdf-print.propertiesを追加。 * Windowsのインストーラーを修正。 -Valery Konchin <eeexception@gmail.com>月、2010年3月1日00:00:00 +0300
自動アセンブリ用のスクリプト。 Linuxパッケージ:<pre> ; 古い選択セクションをオフにする ; 12.06.2005:ルイス・ウォン ; インストーラーのテンプレートを作成します。 ; EasyPlayerインストーラーの特別な機能。 ; Trimedia Interactiveプロジェクト ; ------------------------------- ; 開始する !MUI_PRODUCT "yourownnewsmaker"を定義します !MUI_FILE "yourownnewsmaker"を定義します !MUI_VERSION "1.3"を定義します !MUI_BRANDINGTEXTを定義する「自分の新しいメーカーVer。$ {MUI_VERSION}」 CRCCheckオン ; Bij deze moeten we waarschijnlijk een absoluut pad gaan gebruiken ; モット・エフ・イッゲテスト・ワード !include "$ {NSISDIR} \ Contrib \ Modern UI \ System.nsh" ; -------------------------------- ;一般 名前「$ {MUI_BRANDINGTEXT}」 OutFile "../yourownnewsmaker-install-v.${MUI_VERSION►.exe" ShowInstDetails "nevershow" ShowUninstDetails "nevershow" ; SetCompressor "bzip2" !MUI_ICON "images / yourownnewsmaker.ico"を定義します !MUI_UNICON "images / yourownnewsmaker.ico"を定義します ;!MUI_SPECIALBITMAP "Bitmap.bmp"を定義します ; Windows Vistaのアプリケーション特権を要求する RequestExecutionLevelユーザー ; -------------------------------- ;フォルダ選択ページ InstallDir "$ PROGRAMFILES \ $ {MUI_PRODUCT}" ; -------------------------------- ;最新のUI設定 !MUI_WELCOMEPAGEを定義する !MUI_LICENSEPAGEを定義する !MUI_DIRECTORYPAGEを定義する !MUI_ABORTWARNINGを定義する !MUI_UNINSTALLERを定義する !MUI_UNCONFIRMPAGEを定義する !MUI_FINISHPAGEを定義する ; -------------------------------- ;ページ !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "ライセンス" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH ; -------------------------------- ;言語 !insertmacro MUI_LANGUAGE "英語" ; -------------------------------- ;最新のUIシステム ;!insertmacro MUI_SYSTEM ! "MUI2.nsh"を含む ; -------------------------------- ;データ LicenseData "ライセンス" ; -------------------------------- ;インストーラーセクション セクション「Your Own News Maker(必須)」 ;ファイルを追加する SetOutPath "$ INSTDIR" ファイル「$ {MUI_FILE} .exe」 ファイル「* .dll」 ファイル「ライセンス」 「変更」ファイル SetOutPath "$ INSTDIR \ page-templates" ファイル "page-templates \ *。properties" SetOutPath "$ INSTDIR \ templates \ eeex-sony-pdf" ファイル "templates \ eeex-sony-pdf \ *。*" SetOutPath "$ INSTDIR \ templates \ default" ファイル "templates \ default \ *。*" ;ファイル「templates \ *。html」 ; ファイル "page-templates \ *。properties" ; SetOutPath "$ INSTDIR \ data" ; ファイル「data \ *。cst」 ; ファイル「data \ errorlog.txt」 ; hier komen dan nog de bestanden die in deプレイリストstaan ; SetOutPath "$ INSTDIR" ; ファイル/ r mpg ; SetOutPath "$ INSTDIR" ; ファイル/ r xtras ;デスクトップショートカットを作成する CreateShortCut "$ DESKTOP \ $ {MUI_PRODUCT} .lnk" "$ INSTDIR \ $ {MUI_FILE} .exe" "" ;スタートメニュー項目を作成する CreateDirectory "$ SMPROGRAMS \ $ {MUI_PRODUCT}" CreateShortCut "$ SMPROGRAMS \ $ {MUI_PRODUCT} \ Uninstall.lnk" "$ INSTDIR \ Uninstall.exe" "" "$ INSTDIR \ Uninstall.exe" 0 CreateShortCut "$ SMPROGRAMS \ $ {MUI_PRODUCT} \ $ {MUI_PRODUCT} .lnk" "$ INSTDIR \ $ {MUI_FILE} .exe" "" "$ INSTDIR \ $ {MUI_FILE} .exe" 0 ;レジストリにアンインストール情報を書き込む WriteRegStr HKLM "ソフトウェア\ Microsoft \ Windows \ CurrentVersion \アンインストール\ $ {MUI_PRODUCT}" "DisplayName" "$ {MUI_PRODUCT}(削除のみ)" WriteRegStr HKLM "ソフトウェア\ Microsoft \ Windows \ CurrentVersion \ Uninstall \ $ {MUI_PRODUCT}" "UninstallString" "$ INSTDIR \ Uninstall.exe" WriteUninstaller "$ INSTDIR \ Uninstall.exe" セクションエンド ; -------------------------------- ;アンインストーラーセクション セクション「アンインストール」 ;ファイルを削除する RMDir / r "$ INSTDIR \ *。*" ;インストールディレクトリを削除します RMDir "$ INSTDIR" ; [スタート]メニューのショートカットを削除 「$ DESKTOP \ $ {MUI_PRODUCT} .lnk」を削除します 「$ SMPROGRAMS \ $ {MUI_PRODUCT} \ *。*」を削除します RmDir "$ SMPROGRAMS \ $ {MUI_PRODUCT}" ;アンインストーラーとレジストリエントリの削除 DeleteRegKey HKEY_LOCAL_MACHINE "ソフトウェア\ $ {MUI_PRODUCT}" DeleteRegKey HKEY_LOCAL_MACHINE "ソフトウェア\ Microsoft \ Windows \ CurrentVersion \ Uninstall \ $ {MUI_PRODUCT}" セクションエンド ; -------------------------------- ; MessageBoxセクション ;インストールが正常に終了したときにメッセージボックスを呼び出す関数 関数.onInstSuccess MessageBox MB_OK「$ {MUI_PRODUCT}を正常にインストールしました。デスクトップアイコンを使用してプログラムを起動してください。」 Functionend 関数un.onUninstSuccess MessageBox MB_OK「$ {MUI_PRODUCT}を正常にアンインストールしました。」 Functionend ; eof
Windowsパッケージ:<pre> #!/ bin / sh # # BUILDDATE = $(日付+%F) MAJORVERSION = `sed '/ ^ \#/ d' version.properties | grep 'メジャー' | テール-n 1 | sed 's /^.*=//; s / ^ [[:space:]] * //; s / [[:space:]] * $ //' ' マイナーバージョン= `sed '/ ^ \#/ d' version.properties | grep 'マイナー' | テール-n 1 | sed 's /^.*=//; s / ^ [[:space:]] * //; s / [[:space:]] * $ //' ' echo "バージョン:$ MAJORVERSION。$ MINORVERSION" echo "ビルド日付:$ BUILDDATE" BASEDIR = "./" DEPLOYDIR = "deploy / yourownnewsmaker- $ MAJORVERSION。$ MINORVERSION" PLATFORMDIR = "linux" BUILDNAME = "yourownnewsmaker- $ MAJORVERSION。$ MINORVERSION" RELEASEDIR = "$ DEPLOYDIR / $ PLATFORMDIR / $ BUILDNAME" echo "ビルドディレクトリ:$ RELEASEDIR" rm -rf $ DEPLOYDIR / $ PLATFORMDIR / mkdir -p "$ DEPLOYDIR / $ PLATFORMDIR" svn export ./ $ RELEASEDIR cd $ RELEASEDIR sed -i "s /%test-major-version%/ $ MAJORVERSION / g" version.cpp sed -i "s /%test-minor-version%/ $ MINORVERSION / g" version.cpp sed -i "s /%test-date%/ $ BUILDDATE / g" version.cpp rm -rf * .rc rm -rf build-libs rm -rf win32-x-g ++ rm -rf linux-g ++-qt4.5 rm -rf * .user rm -rf * .sh rm -rf makefile rm -rf * .properties rm -rf * .nsi rm -rfヘルプ mkdir src mv * .cpp src mv * .h src mv * .ui src mv yourownnewsmaker.pro src / src.pro mv * .qrc src mv画像src mv page-templates src mvテンプレートsrc mv yourownnewsmaker.desktop src mvはsrcを変更します mvライセンスsrc yourownnewsmaker.proに触れます echo "QMAKEVERSION = $$ [QMAKE_VERSION]" >> yourownnewsmaker.pro echo "ISQT4 = $$ find(QMAKEVERSION、^ [2-9])" >> yourownnewsmaker.pro echo "isEmpty(ISQT4){" >> yourownnewsmaker.pro echo "error(\" Debianはqmake-qt4であるQt4.4以降でqmake includeを使用します\ ");" >> yourownnewsmaker.pro echo "}" >> yourownnewsmaker.pro エコー "" >> yourownnewsmaker.pro echo "TEMPLATE = subdirs" >> yourownnewsmaker.pro echo "SUBDIRS = src" >> yourownnewsmaker.pro export DEBFULLNAME = "Valery Konchin" dh_make -e eeexception@gmail.com --createorig --single -c gpl mkdir debian mvルールdebian /ルール mv control debian / control mv changelog debian / changelog sed -i "s / <url:\ / \ / example.com> / http:\ / \ / eeexception.org/g" debian / copyright sed -i "s / <著者の名前とメールをここに入力> / Valery Konchin <eeexception@gmail.com> / g" debian / copyright sed -i "s / <別の作成者の場合と同様> // g" debian / copyright sed -i "s / Copyright(C)YYYY Firstname Lastname / Copyright(C)2010 Valery Konchin / g" debian / copyright dpkg-buildpackage rm -rf debian rm -rf builddir cd ../ tar -pczf $ BUILDNAME.tar.gz $ BUILDNAME rm -rf $ BUILDNAME
パート3.作業結果の確認。 スクリプトを実行した結果、deploy / deb、rpmディレクトリ、ソースコードを含むアーカイブ、バイナリを含むアーカイブ、およびWindows用のインストールパッケージを受け取ります。これはほとんどのユーザーにとって十分だと思います。 この方法で生成されたdebおよびrpmパッケージは、リポジトリに含めるには理想的ではないかもしれませんが、システム上のアプリケーションのインストールと更新は非常にうまくいきます。 理想的には、スクリプトにはアプリケーション自体の機能と同様に正しいインストールの検証がまだないのですが、このためには、現在検索しているGUIテストシステムを使用する必要があります。さらに、サイトエディターのパーサーが一部のシンボルを飲み込む可能性があるため、ダウンロードすることをお勧めします。 http://dl.dropbox.com/u/930431/project-build-scripts.tar.gz<pre> #!/ bin / sh # # BUILDDATE = $(日付+%F) MAJORVERSION = `sed '/ ^ \#/ d' version.properties | grep 'メジャー' | テール-n 1 | sed 's /^.*=//; s / ^ [[:space:]] * //; s / [[:space:]] * $ //' ' マイナーバージョン= `sed '/ ^ \#/ d' version.properties | grep 'マイナー' | テール-n 1 | sed 's /^.*=//; s / ^ [[:space:]] * //; s / [[:space:]] * $ //' ' echo "バージョン:$ MAJORVERSION。$ MINORVERSION" echo "ビルド日付:$ BUILDDATE" BASEDIR = "./" DEPLOYDIR = "deploy / yourownnewsmaker- $ MAJORVERSION。$ MINORVERSION" PLATFORMDIR = "windows" BUILDNAME = "yourownnewsmaker- $ MAJORVERSION。$ MINORVERSION" RELEASEDIR = "$ DEPLOYDIR / $ PLATFORMDIR / $ BUILDNAME" echo "ビルドディレクトリ:$ RELEASEDIR" rm -rf $ DEPLOYDIR / $ PLATFORMDIR / mkdir -p "$ DEPLOYDIR / $ PLATFORMDIR" svn export ./ $ RELEASEDIR cd $ RELEASEDIR sed -i "s /%test-major-version%/ $ MAJORVERSION / g" version.cpp sed -i "s /%test-minor-version%/ $ MINORVERSION / g" version.cpp sed -i "s /%test-date%/ $ BUILDDATE / g" version.cpp #必要なパスを設定 QT_WIN_INSTALL_DIR = / home / exception / Development / qt-4.6.1-win QT_LIN_INSTALL_DIR = / home / exception / Development / qtsdk-2010.01 / qt export LD_LIBRARY_PATH = $ QT_LIN_INSTALL_DIR / lib:$ LD_LIBRARY_PATH export PATH = $ QT_LIN_INSTALL_DIR / bin:$ PATH export QT_LINUX_BIN_PATH = $ QT_LIN_INSTALL_DIR / bin export QT_WIN_INCLUDE_PATH = $ QT_WIN_INSTALL_DIR / include export QT_WIN_LIB_PATH = $ QT_WIN_INSTALL_DIR / lib qmake -set QT_WIN_INCLUDE_PATH $ QT_WIN_INCLUDE_PATH qmake -set QT_WIN_LIB_PATH $ QT_WIN_LIB_PATH #これがqmakeのクロスコンパイルの始まりです qmake yourownnewsmaker.pro -spec win32-x-g ++ -r 作る cp -rf build-libs / win / *。dll ./ cp -rf release / *。exe ./ rm -rf images / *。png rm -rf * .rc rm -rf * .res rm -rf build-libs rm -rf win32-x-g ++ rm -rf linux-g ++-qt4.5 rm -rf * .user rm -rf * .sh rm -rf makefile rm -rf * .properties rm -rfリリース rm -rf debug rm -rf * .desktop rm -rf Makefile * rm -rf * .Debug rm -rf *。リリース rm -rf制御 rm -rf changelog rm -rfルール rm -rfヘルプ rm -rf * .qrc rm -rf * .cpp rm -rf * .h rm -rf * .ui rm -rf * .pro #これらのコマンドを使用して、改行をWindowsに置き換えます sed -i s / $ / '\ r' / templates / default /*.* sed -i s / $ / '\ r' / templates / eeex-sony-pdf /*.* sed -i s / $ / '\ r' / page-templates / *。プロパティ sed -i s / $ / '\ r' /ライセンス sed -i s / $ / '\ r' /変更 ワインmakensis.exe win.nsi rm -rf * .nsi cd ../ zip -r $ BUILDNAME.zip $ BUILDNAME
http://eeexception.org/project-build-scripts.tar.gz
http://yourownnewsmaker.googlecode.com/files/project-build-scripts.tar.gz