Show Posts
|
Pages: [1] 2 3 4 5 6 7 »
|
Can you post your gcc -v output?
|
|
|
c:\lite>mingw32-make -f Makefile.Release cd C:/lite/src/leveldb && CC=gcc CXX=g++ TARGET_OS=OS_WINDOWS_CROSSCOMPILE mingw 32-make OPT="-pipe -fno-keep-inline-dllexport -U_FORTIFY_SOURCE -D_FORTIFY_SOURC E=2 -O2" libleveldb.a libmemenv.a && ranlib C:/lite/src/leveldb/libleveldb.a && ranlib C:/lite/src/leveldb/libmemenv.a 'CC' is not recognized as an internal or external command, operable program or batch file. Makefile.Release:313: recipe for target 'c:/lite/src/leveldb/libleveldb.a' faile d mingw32-make: *** [c:/lite/src/leveldb/libleveldb.a] Error 1
c:\lite> Did you comment out win32 genleveldb.commands from your .pro file (leveldb will need to be built separately)? See "additional notes for older Bitcoin 0.8.6" on first post.
|
|
|
Hey guys, I've followed all the steps and still stuck on something related to the Berkeley DB.
When I run configure it says:
"checking for Berkeley DB C++ headers... no" "configure: error: libdb_cxx headers missing"
Also, was wondering in the instructions, in the Berkeley DB part, why are we building under "build_unix", rather than "build_windows"?
Thanks.
Are you including the correct bdb folder when configuring? Did bdb compile fine? Since we are compiling on a "unix like" system (msys) we build under build_unix. build_windows assumes you are building on visual studio. yes, its all installed and configured. heres a screenshot of that folder, the file lrelease.exe doesent seem to exist?
Did you compile qt 4.8.6 from source? See "Compile bitcoin-qt 0.8.6 with Qt 4.8" on first post. In step 2.4 miniupnpc-1.9.20150206.tar.gz does not include miniupnpcstrings.h and it looks for this file on make. So You have to create the file and put in something like: /* $Id: miniupnpcstrings.h,v 1.3 2009/06/04 09:05:56 nanard Exp $ */ /* Project: miniupnp * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ * Author: Thomas Bernard * Copyright (c) 2005-2009 Thomas Bernard * This software is subjects to the conditions detailed * in the LICENCE file provided within this distribution */ #ifndef __MINIUPNPCSTRINGS_H__ #define __MINIUPNPCSTRINGS_H__
#define OS_STRING "OpenBSD/4.3" #define MINIUPNPC_VERSION_STRING "1.3"
#endif miniupnpcstrings.h will be automatically generated when compiling from cmd on windows as specified at step 2.4. You will need to manually create it if compiling from msys (or when crosscompiling on linux for windows, if I remember correctly). I also had a nasty error that said that it couldn't find the entry point of a throw exception in libstdc++-6.dll in both the QT compilation and the protobuf compilation. I found that I had to delete libstdc++.dll inside of C:\mingw32\lib\gcc\i686-w64-mingw32\4.9.2 because it was trying to link against a different version of std c++ lib which already exists as libstdc++-6.dll inside of C:\mingw32\bin
Sounds like a misconfiguration (old toolchain version remnants?) of your build environment, or lack of make clean when rebuilding dependencies. Also make sure all dependencies are built by the same toolchain.
|
|
|
Thanks, nitrogenetics for keeping this guide updated; it did help me track down an issue trying to compile a coin based on Bitcoin 0.8. Though I noticed a few things that probably should be noted from the shift to version "L" of OpenSSL 1.0.1 from version "J":
Not so up to date, but still working. In the next update I'll replace msys with msys2 In the 0.8 headless client modifications to the "makefile.mingw" file, you still have references to "openssl-1.0.1j" that should be updated to "openssl-1.0.1l".
As specified, openssl v1.0.1k and later may lead to consesus forks when used with older unpatched bitcoin code releases. http://sourceforge.net/p/bitcoin/mailman/message/33221963/Also, when compiling OpenSSL (step 2.1) after running the "./Configure" command, the output from that command suggests running "make depend" first, before running "make", which should probably be part of the instructions? My compile of OpenSSL actually failed out, while parsing the "test" directory (ideatest.c:1:1: error: expected identifier or '(' before '.' token, ../crypto/idea/ideatest.c), but all the source files got properly built before that, so it didn't affect final compilation. Is there a flag to turn off running tests of OpenSSL?
Openssl always suggest doing a make depend when disabling algorithms. Configure options are the same as in https://github.com/bitcoin/bitcoin/blob/master/depends/packages/openssl.mk, so they should be well tested. Tests should not run unless you do a make test. Its mentioned a few times to make sure various things are on in your PATH variable, and an example is shown in the compiling the GUI/Qt step of how to do that in the command prompt, but it's not shown for the MSYS shell; it might be useful to spell it out specifically that to add the MinGW binaries to your PATH in MYSYS, do: PATH=/c/mingw32/bin:$PATH But to add them to your PATH in a standard command prompt (which is needed for compiling the QT 4.8 library), do: set PATH=C:\mingw32\bin;%PATH% Msys will automatically set environment variables from the current windows setup, so just adding your toolchain bin folder to windows PATH should be enough. When using qt5 submodules after compiling the base package a 'set PATH=%PATH%;C:\Qt\5.3.2\bin' will be needed in order to have qmake, lrelease, etc available for qt-tools build. This is not necessary for qt4.8 (available as full package only). Perl will only be required when compiling qt with qt-webkit enabled. You mention commenting out the "genleveldb.commands" in the "bitcoin.pro" project file, but if you do that, you should probably also comment out the "QMAKE_CLEAN" line, which attempts to delete the "libleveldb.a" file when a "clean" action is run.
Yes, qmake clean will fail for leveldb and can be probably commented out also (doesn't make a big difference, whereas genleveldb.commands would stop the build process).
|
|
|
Given that, I used a solution from StackExchange: ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh in the bitcoin directory and that avoided the PKG_... errors during the execution of ./configure. You are actually setting ACLOCAL_PATH to the default search path. $ aclocal --print-ac-dir /usr/share/aclocal
ACLOCAL_PATH is ignored by msys-autoconf (afaik), this is why pkg.m4 needs to be installed to /usr/share/aclocal (--prefix=/usr when configuring).
|
|
|
i had pkg installed earlier as i did it with gpuminer. (copy paste bin/share folders) now installed pkg again as you told above and now there is one error line less.. but still this: ./configure: line 21247: syntax error near unexpected token `QTPLATFORM,' ./configure: line 21247: ` PKG_CHECK_MODULES(QTPLATFORM, Qt5PlatformSuppo rt, QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS")' edit, solved to mingw32 folder: ************************ ** Install pkg-config ** ************************ 1. Visit http://www.gtk.org/download/win32.php2. Search for a version of pkg-config that includes both the Tool and Dev downloads 3. Click and download both the Tool link and the Dev link 4. Open the pkg-config zip file and extract the bin folder to C:\mingw32 5. Open the pkg-config-dev zip file and extract the share folder to C:\mingw32 Either installing pkg-config-lite with configure --prefix=/usr && make && make install or copying pkg.m4 from source package to aclocal folder will work. Just make sure it gets installed to C:\MinGW\msys\1.0\share\aclocal\pkg.m4 As an additional option you can switch to msys2. I'll try to do my best to get the op updated asap.
|
|
|
checking for QtDBus... no ./configure: line 21329: syntax error near unexpected token `QTPLATFORM,' ./configure: line 21329: ` PKG_CHECK_MODULES(QTPLATFORM, Qt5PlatformSuppo rt, QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS")'
Pierre-Louis@Bellatrix /f/dev/Worldcoin_core/1rc3/bitcoin $ pkg-config --version 0.28 I tried copying the files from pkg-config dev/tool, compiled/installed pkg-config-lite, reran autogen.sh, started another msys, rebooted even, but still configure gives me this error (0.10.1rc3). Is it possible there's an environment variable missing (like qtplatform_libs or something)? Running pkg-config gives me the right version number so I'm assuming it's installed correctly. Any suggestions? Thanks. Copying pkg.m4 to C:\MinGW\msys\1.0\share\aclocal (or whatever your msys install folder is) should fix it. Also make sure the mingw, and toolchain bin paths are BOTH in your PATH variable(for me, C:\MinGW\bin and C:\MinGW\mingw32\bin), although im sure if you got this far already they likely are.
This is not necessary. In a properly configured environment you will have no C:\MinGW\mingw32\bin folder and C:\MinGW\bin will just contain mingw-get executable.
|
|
|
i had pkg installed earlier as i did it with gpuminer. (copy paste bin/share folders) now installed pkg again as you told above and now there is one error line less.. but still this: ./configure: line 21247: syntax error near unexpected token `QTPLATFORM,' ./configure: line 21247: ` PKG_CHECK_MODULES(QTPLATFORM, Qt5PlatformSuppo rt, QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS")' edit, solved to mingw32 folder: ************************ ** Install pkg-config ** ************************ 1. Visit http://www.gtk.org/download/win32.php2. Search for a version of pkg-config that includes both the Tool and Dev downloads 3. Click and download both the Tool link and the Dev link 4. Open the pkg-config zip file and extract the bin folder to C:\mingw32 5. Open the pkg-config-dev zip file and extract the share folder to C:\mingw32 pkg-config-lite worked fine for me, did you re-run autogen.sh after installing? @nitro. Need an help. Have compiled all as stated here for qtwebkits(icu-opensll and qt)
-Added to path: C:\Python34;C:\Ruby21\bin;C:\Perl\site\bin;C:\Perl\bin;
-From CMD: set PATH=%PATH%;C:\Qt\5.3.2\qtbase\bin\qmake with "normal" 5.3.2 i write only set PATH=%PATH%;C:\Qt\5.3.2\bin, now i have to add \qtbase\bin\qmake to find .qmake.
-When i launch qmake,it will stop saying: file ICUIN54.dll was not found on computer. (so,there something missing with icu i suppose)
That's sound strange cause i have already compiled via shell icu. Is something i miss? need to add to path something regarding icu files?
Thanks in advance.
Make sure icu is in PATH before building qt: set PATH=%PATH%;C:\deps\icu\dist\lib
|
|
|
I wasn't very impressed when I first tried it more than a year ago, but I had a look at the current MSYS2 version and it seems to be working really fine with no broken parallel builds. (Having pacman from Arch is a nice additional feature too). I think I will update the opening post soon.
|
|
|
getting some errors with 10.99 master(windows), last time it was fine to compile(2 weeks ago..)
./configure: line 16350: PKG_PROG_PKG_CONFIG: command not found
./configure: line 21247: syntax error near unexpected token `QTPLATFORM,' ./configure: line 21247: ` PKG_CHECK_MODULES(QTPLATFORM, Qt5PlatformSuppo rt, QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS")'
solution, roll back: Remove custom pkg.m4 script. master (#5688)
It seems it would probably be a better option to install pkg-config: http://sourceforge.net/projects/pkgconfiglite/files/0.28-1/pkg-config-lite-0.28-1.tar.gz/downloadconfigure --prefix=/usr && make && make install I was unable to make autoreconf include m4 files from folders other than /usr/share/aclocal, so I configured it to be installed to /usr.
|
|
|
Hi Anyone know where I can get a tutorial on compiling a wallet ( not constructing one ) from source code on windows 8. thx
See first post. Error at "autogen.sh"
Can you paste the error message?
|
|
|
patched has_binary_operator.hpp (first manually added #endif at end of line 25 with a space between .hpp and #endif, then patched)
Not sure what you mean, but as I said you need to wrap has_binary_operator.hpp in a #ifndef Q_MOC_RUN. Just insert #ifndef Q_MOC_RUN at line 8 and #endif at the end of the file: --- has_binary_operator.hpp Thu Oct 30 11:47:21 2014 +++ has_binary_operator.hpp Mon Jan 05 23:58:51 2015 @@ -6,6 +6,7 @@ // // See http://www.boost.org/libs/type_traits for most recent version including documentation. +#ifndef Q_MOC_RUN #include <boost/config.hpp> #include <boost/type_traits/ice.hpp> #include <boost/type_traits/integral_constant.hpp> @@ -227,3 +228,4 @@ #endif #include <boost/type_traits/detail/bool_trait_undef.hpp> +#endif
Tuxcoin compiles fine after patching has_binary_operator.hpp. See tuxcoin-qt.pro diff: --- tuxcoin-qt.pro Fri Jan 02 22:11:31 2015 +++ tuxcoin-qt.pro Sun Jan 11 16:54:29 2015 @@ -8,6 +8,7 @@ DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE CONFIG += no_include_pwd CONFIG += thread +CONFIG += static @@ -38,15 +39,17 @@ win32 { - BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 - BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 - BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib + BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57 + BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0 + BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix - OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include - OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g + OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include + OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j MINIUPNPC_INCLUDE_PATH=C:/deps/ MINIUPNPC_LIB_PATH=C:/deps/miniupnpc + QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4 + QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs } OBJECTS_DIR = build MOC_DIR = build @@ -79,7 +82,7 @@ # on Windows: enable GCC large address aware linker flag win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static # i686-w64-mingw32 -win32:QMAKE_LFLAGS *= -static-libgcc -static-libstdc++ +#win32:QMAKE_LFLAGS *= -static-libgcc -static-libstdc++ # use: qmake "USE_QRCODE=1" # libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support @@ -100,7 +103,7 @@ count(USE_UPNP, 0) { USE_UPNP=1 } - DEFINES += USE_UPNP=$$USE_UPNP STATICLIB + DEFINES += USE_UPNP=$$USE_UPNP MINIUPNP_STATICLIB INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc win32:LIBS += -liphlpapi
|
|
|
Assuming you are installing from scratch marking msys-base-bin, msys-autoconf-bin, msys-automake-bin and msys-libtool-bin for installation will provide everything you need.
|
|
|
Anyone having problems linking with libQt5Gui.a? I'm using 64bit binaries and have built the steps leading up to Qt qttools-opensource-src-5.3.2 with no issues. The link for Qtdiag.exe doesn't seem to want to work. I'm not an expert at this but know the basics and have managed to get up to here with no errors. I've followed the current instructions as they are (great guide btw!).
I'm wondering how many have actually installed using 64bit. My next step will be to try with 32 if I can't get this resolved. Google searches show a similar problem but so far none resolved.
It has been a while since I did a 64bit build. I'll give it a try and report back. Can you be more specific & detail as to what needs to change in has_binary_operator.hpp
Try wrapping has_binary_operator.hpp code inside an #ifndef Q_MOC_RUN statement: --- has_binary_operator.hpp Thu Oct 30 11:47:21 2014 +++ has_binary_operator.hpp Mon Jan 05 23:58:51 2015 @@ -6,6 +6,7 @@ // // See http://www.boost.org/libs/type_traits for most recent version including documentation. +#ifndef Q_MOC_RUN #include <boost/config.hpp> #include <boost/type_traits/ice.hpp> #include <boost/type_traits/integral_constant.hpp> @@ -227,3 +228,4 @@ #endif #include <boost/type_traits/detail/bool_trait_undef.hpp> +#endif
|
|
|
Thanks, much appreciated You can find more info about BOOST_JOIN error here: https://bugreports.qt-project.org/browse/QTBUG-22829I successfully used the suggested workaround of wrapping has_binary_operator.hpp inside an #ifndef Q_MOC_RUN with boost 1.57. When using current 1.9 miniupnpc sources make sure to define -DMINIUPNP_STATICLIB instead of -DSTATICLIB (v1.9 release still needs -DSTATICLIB). Hope that helps
|
|
|
Make sure not to use msys-gcc: uninstall relevant packages or delete mingw install dir and reinstall required msys packages only.
|
|
|
Yes, but only after applying patches for qt5 compatibility to 0.8.6 sources: Remove #define loop from util.h and replace loop with while (true) in src/bitcoinrpc.cpp src/main.cpp src/net.cpp src/script.cpp src/util.cpp src/wallet.cpp src/walletdb.cpp see: https://github.com/bitcoin/bitcoin/commit/8351d55cd3955c95c5e3fe065a456db08cc8a559Qt5 compatibility. #if QT_VERSION < 0x050000 ... in src/qt/addressbookpage.cpp src/qt/bitcoin.cpp src/qt/bitcoingui.cpp src/qt/guiutil.cpp src/qt/paymentserver.cpp src/qt/qrcodedialog.cpp src/qt/rpcconsole.cpp src/qt/sendcoinsdialog.cpp src/qt/transactionview.cpp src/qt/walletview.cpp see: https://github.com/bitcoin/bitcoin/commit/25c0cce7fb494fcb871d134e28b26504d30e34d3http://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.htmlhttp://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5Qt5 compatibility patch: --- bitcoinrpc.cpp Thu Dec 05 13:11:26 2013 +++ bitcoinrpc.cpp Tue Dec 31 02:25:11 2013 @@ -417,7 +417,7 @@ int ReadHTTPHeaders(std::basic_istream<char>& stream, map<string, string>& mapHeadersRet) { int nLen = 0; - loop + while (true) { string str; std::getline(stream, str); --- main.cpp Thu Dec 05 13:11:26 2013 +++ main.cpp Tue Dec 31 02:25:11 2013 @@ -4551,7 +4551,7 @@ CReserveKey reservekey(pwallet); unsigned int nExtraNonce = 0; - try { loop { + try { while (true) { while (vNodes.empty()) MilliSleep(1000); @@ -4591,7 +4591,7 @@ uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); uint256 hashbuf[2]; uint256& hash = *alignup<16>(hashbuf); - loop + while (true) { unsigned int nHashesDone = 0; unsigned int nNonceFound; --- net.cpp Thu Dec 05 13:11:26 2013 +++ net.cpp Tue Dec 31 02:25:11 2013 @@ -135,7 +135,7 @@ bool RecvLine(SOCKET hSocket, string& strLine) { strLine = ""; - loop + while (true) { char c; int nBytes = recv(hSocket, &c, 1, 0); @@ -307,7 +307,7 @@ { if (strLine.empty()) // HTTP response is separated from headers by blank line { - loop + while (true) { if (!RecvLine(hSocket, strLine)) { @@ -750,7 +750,7 @@ void ThreadSocketHandler() { unsigned int nPrevNodeCount = 0; - loop + while (true) { // // Disconnect nodes @@ -1114,7 +1114,7 @@ string strDesc = "Bitcoin " + FormatFullVersion(); try { - loop { + while (true) { #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, @@ -1378,7 +1378,7 @@ // Initiate network connections int64 nStart = GetTime(); - loop + while (true) { ProcessOneShot(); @@ -1429,7 +1429,7 @@ int64 nANow = GetAdjustedTime(); int nTries = 0; - loop + while (true) { // use an nUnkBias between 10 (no outgoing connections) and 90 (8 outgoing connections) CAddress addr = addrman.Select(10 + min(nOutbound,8)*10); --- script.cpp Thu Dec 05 13:11:26 2013 +++ script.cpp Tue Dec 31 02:25:11 2013 @@ -1163,7 +1163,7 @@ // Compare CScript::const_iterator pc1 = script1.begin(); CScript::const_iterator pc2 = script2.begin(); - loop + while (true) { if (pc1 == script1.end() && pc2 == script2.end()) { --- util.cpp Thu Dec 05 13:11:26 2013 +++ util.cpp Tue Dec 31 02:25:11 2013 @@ -311,7 +311,7 @@ char* p = buffer; int limit = sizeof(buffer); int ret; - loop + while (true) { va_list arg_ptr; va_copy(arg_ptr, ap); @@ -371,7 +371,7 @@ return; string::size_type i1 = 0; string::size_type i2; - loop + while (true) { i2 = str.find(c, i1); if (i2 == str.npos) @@ -500,7 +500,7 @@ { // convert hex dump to vector vector<unsigned char> vch; - loop + while (true) { while (isspace(*psz)) psz++; @@ -954,7 +954,7 @@ bool WildcardMatch(const char* psz, const char* mask) { - loop + while (true) { switch (*mask) { --- util.h Thu Dec 05 13:11:26 2013 +++ util.h Tue Dec 31 02:25:11 2013 @@ -37,7 +37,6 @@ static const int64 COIN = 100000000; static const int64 CENT = 1000000; -#define loop for (;;) #define BEGIN(a) ((char*)&(a)) #define END(a) ((char*)&((&(a))[1])) #define UBEGIN(a) ((unsigned char*)&(a)) --- wallet.cpp Thu Dec 05 13:11:26 2013 +++ wallet.cpp Tue Dec 31 02:25:11 2013 @@ -1173,7 +1173,7 @@ LOCK2(cs_main, cs_wallet); { nFeeRet = nTransactionFee; - loop + while (true) { wtxNew.vin.clear(); wtxNew.vout.clear(); --- walletdb.cpp Thu Dec 05 13:11:26 2013 +++ walletdb.cpp Tue Dec 31 02:25:11 2013 @@ -73,7 +73,7 @@ if (!pcursor) throw runtime_error("CWalletDB::ListAccountCreditDebit() : cannot create DB cursor"); unsigned int fFlags = DB_SET_RANGE; - loop + while (true) { // Read next record CDataStream ssKey(SER_DISK, CLIENT_VERSION); @@ -415,7 +415,7 @@ return DB_CORRUPT; } - loop + while (true) { // Read next record CDataStream ssKey(SER_DISK, CLIENT_VERSION); --- qt/addressbookpage.cpp Thu Dec 05 13:11:26 2013 +++ qt/addressbookpage.cpp Tue Dec 31 02:25:11 2013 @@ -143,8 +143,13 @@ ui->tableView->sortByColumn(0, Qt::AscendingOrder); // Set column widths +#if QT_VERSION < 0x050000 ui->tableView->horizontalHeader()->setResizeMode(AddressTableModel::Label, QHeaderView::Stretch); ui->tableView->horizontalHeader()->setResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents); +#else + ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Label, QHeaderView::Stretch); + ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents); +#endif connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged())); --- qt/bitcoin.cpp Thu Dec 05 13:11:26 2013 +++ qt/bitcoin.cpp Tue Dec 31 02:25:11 2013 @@ -17,7 +17,9 @@ #include "splashscreen.h" #include <QMessageBox> +#if QT_VERSION < 0x050000 #include <QTextCodec> +#endif #include <QLocale> #include <QTimer> #include <QTranslator> @@ -118,9 +120,11 @@ // Command-line options take precedence: ParseParameters(argc, argv); +#if QT_VERSION < 0x050000 // Internal string conversion is all UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); +#endif Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); --- qt/bitcoingui.cpp Thu Dec 05 13:11:26 2013 +++ qt/bitcoingui.cpp Tue Dec 31 02:25:11 2013 @@ -44,7 +44,9 @@ #include <QMovie> #include <QTimer> #include <QDragEnterEvent> +#if QT_VERSION < 0x050000 #include <QUrl> +#endif #include <QMimeData> #include <QStyle> #include <QSettings> --- qt/guiutil.cpp Thu Dec 05 13:11:26 2013 +++ qt/guiutil.cpp Tue Dec 31 02:25:11 2013 @@ -13,8 +13,12 @@ #include <QDoubleValidator> #include <QFont> #include <QLineEdit> +#if QT_VERSION >= 0x050000 +#include <QUrlQuery> +#else #include <QUrl> -#include <QTextDocument> // For Qt::escape +#endif +#include <QTextDocument> // for Qt::mightBeRichText #include <QAbstractItemView> #include <QClipboard> #include <QFileDialog> @@ -86,7 +90,13 @@ SendCoinsRecipient rv; rv.address = uri.path(); rv.amount = 0; + +#if QT_VERSION < 0x050000 QList<QPair<QString, QString> > items = uri.queryItems(); +#else + QUrlQuery uriQuery(uri); + QList<QPair<QString, QString> > items = uriQuery.queryItems(); +#endif for (QList<QPair<QString, QString> >::iterator i = items.begin(); i != items.end(); i++) { bool fShouldReturnFalse = false; @@ -139,7 +149,11 @@ QString HtmlEscape(const QString& str, bool fMultiLine) { +#if QT_VERSION < 0x050000 QString escaped = Qt::escape(str); +#else + QString escaped = str.toHtmlEscaped(); +#endif if(fMultiLine) { escaped = escaped.replace("\n", "<br>\n"); @@ -176,7 +190,11 @@ QString myDir; if(dir.isEmpty()) // Default to user documents location { +#if QT_VERSION < 0x050000 myDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); +#else + myDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); +#endif } else { --- qt/paymentserver.cpp Thu Dec 05 13:11:26 2013 +++ qt/paymentserver.cpp Tue Dec 31 02:25:11 2013 @@ -18,7 +18,9 @@ #include <QLocalServer> #include <QLocalSocket> #include <QStringList> +#if QT_VERSION < 0x050000 #include <QUrl> +#endif using namespace boost; --- qt/qrcodedialog.cpp Thu Dec 05 13:11:26 2013 +++ qt/qrcodedialog.cpp Tue Dec 31 02:25:11 2013 @@ -7,7 +7,9 @@ #include "optionsmodel.h" #include <QPixmap> +#if QT_VERSION < 0x050000 #include <QUrl> +#endif #include <qrencode.h> --- qt/rpcconsole.cpp Thu Dec 05 13:11:26 2013 +++ qt/rpcconsole.cpp Tue Dec 31 02:25:11 2013 @@ -8,7 +8,9 @@ #include <QTime> #include <QThread> #include <QKeyEvent> +#if QT_VERSION < 0x050000 #include <QUrl> +#endif #include <QScrollBar> #include <openssl/crypto.h> --- qt/sendcoinsdialog.cpp Thu Dec 05 13:11:26 2013 +++ qt/sendcoinsdialog.cpp Tue Dec 31 02:25:11 2013 @@ -93,7 +93,11 @@ QStringList formatted; foreach(const SendCoinsRecipient &rcp, recipients) { +#if QT_VERSION < 0x050000 formatted.append(tr("<b>%1</b> to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); +#else + formatted.append(tr("<b>%1</b> to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address)); +#endif } fNewRecipientAllowed = false; --- qt/transactionview.cpp Thu Dec 05 13:11:26 2013 +++ qt/transactionview.cpp Tue Dec 31 02:25:11 2013 @@ -176,7 +176,11 @@ transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Status, 23); transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Date, 120); transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Type, 120); +#if QT_VERSION < 0x050000 transactionView->horizontalHeader()->setResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch); +#else + transactionView->horizontalHeader()->setSectionResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch); +#endif transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Amount, 100); } } --- qt/walletview.cpp Thu Dec 05 13:11:26 2013 +++ qt/walletview.cpp Tue Dec 31 02:25:11 2013 @@ -21,7 +21,11 @@ #include <QHBoxLayout> #include <QVBoxLayout> #include <QAction> +#if QT_VERSION < 0x050000 #include <QDesktopServices> +#else +#include <QStandardPaths> +#endif #include <QFileDialog> #include <QPushButton> @@ -233,7 +237,11 @@ void WalletView::backupWallet() { +#if QT_VERSION < 0x050000 QString saveDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); +#else + QString saveDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); +#endif QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)")); if (!filename.isEmpty()) { if (!walletModel->backupWallet(filename)) {
|
|
|
|