From 98ffa472d445066556fbcb81487cb79ca60d68b8 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Sun, 28 Oct 2018 23:17:32 -0700 Subject: [PATCH] mingw support for linux->windows cross compilation --- .gitignore | 1 + src/rpc.cpp | 6 +++--- src/scripts/mkmingw.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100755 src/scripts/mkmingw.sh diff --git a/.gitignore b/.gitignore index 92e22e3..04b8430 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ x64/ src/precompiled.h.cpp .qmake.stash zec-qt-wallet +zec-qt-wallet-mingw* zec-qt-wallet.vcxproj* zec-qt-wallet.sln zec-qt-wallet.pro.user diff --git a/src/rpc.cpp b/src/rpc.cpp index fb190eb..41961ae 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -421,7 +421,7 @@ void RPC::refreshReceivedZTrans(QList zaddrs) { } auto amount = i["amount"].get(); - auto confirmations = txidInfo["confirmations"].get(); + auto confirmations = (unsigned long)txidInfo["confirmations"].get(); TransactionItem tx{ QString("receive"), timestamp, zaddr, txid, amount, confirmations, "", memos.value(zaddr + txid, "") }; @@ -617,11 +617,11 @@ void RPC::refreshTransactions() { TransactionItem tx{ QString::fromStdString(it["category"]), - it["time"].get(), + (unsigned long)it["time"].get(), (it["address"].is_null() ? "" : QString::fromStdString(it["address"])), QString::fromStdString(it["txid"]), it["amount"].get() + fee, - it["confirmations"].get(), + (unsigned long)it["confirmations"].get(), "", "" }; txdata.push_back(tx); diff --git a/src/scripts/mkmingw.sh b/src/scripts/mkmingw.sh new file mode 100755 index 0000000..969c9f4 --- /dev/null +++ b/src/scripts/mkmingw.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +if [ -z $APP_VERSION ]; then echo "APP_VERSION is not set"; exit 1; fi + + +export PATH=$MXE_PATH:$PATH + +echo -n "Configuring..." +make distclean > /dev/null +rm -f zec-qt-wallet-mingw.pro +rm -rf release/ +#Mingw seems to have trouble with precompiled heades, so strip that option from the .pro file +cat zec-qt-wallet.pro | sed "s/precompile_header/release/g" | sed "s/PRECOMPILED_HEADER.*//g" > zec-qt-wallet-mingw.pro +echo "[OK]" + + +echo -n "Building......" +x86_64-w64-mingw32.static-qmake-qt5 zec-qt-wallet-mingw.pro CONFIG+=release > /dev/null +make -j32 > /dev/null +echo "[OK]" + + +echo -n "Packaging....." +mkdir release/zec-qt-wallet-v$APP_VERSION +cp release/zec-qt-wallet.exe release/zec-qt-wallet-v$APP_VERSION +cp README.md release/zec-qt-wallet-v$APP_VERSION +cp LICENSE release/zec-qt-wallet-v$APP_VERSION +cd release && zip -r Windows-zec-qt-wallet-v$APP_VERSION.zip zec-qt-wallet-v$APP_VERSION/ > /dev/null +cd .. + + +if [ -f release/Windows-zec-qt-wallet-v$APP_VERSION.zip ] ; then + echo "[OK]" + + echo "Done. Build is release/Windows-zec-qt-wallet-v$APP_VERSION.zip" + echo "Package contents:" + unzip -l "release/Windows-zec-qt-wallet-v$APP_VERSION.zip" +else + echo "[ERROR]" + exit 1 +fi