Search the Community
Showing results for tags 'windows-qt'.
Found 2 results
I'm gonna start off with this guide is an adapation of this topic but for Denarius QT. At this time, I haven't been able to compile the QT with NativeTor or UPNP but when I do figure it out, I will update this thread. 0. Preparing Your System As with compiling every project, you need a compiler for the wallet and all the dependencies. Your patience will be tested multiple times duing the build and you have to be ready to spend a good 5 hours or so depending on the speed of your cpu. There are tools you have to install in order to compile. There are a few programs you should have installed to make the process easier here they are: 7-Zip for extracting files, choose the option appropriate for your system Notepad++ for editing certain files duing the building process Lets us start with MinGW, you can download it from here. That will download and install the MinGW. Once installed and open you should see a screen like this one: Click MinGW and Unmark everything, then click MSYS and unmark everything. Then mark the following items under MSYS: msys-autoconf-bin msys-automake-bin msys-base-bin msys-libtool-bin Its okay for other packages to become marked as you make the above, the others are dependencies. Then go to Installation -> Apply Changes -> Apply it will take a minute to download everything Next you are gonna wanna install the MinGW-builds toolchain from here. While compiling, you are gonna have 2 different cli-type interfaces open, more on that later. Unpack that archive to your drive root, for me that is C:\. Next create a folders in your drive root called deps and Qt. This is where we are gonna compile our dependencies. When all steps completed, your file structure should look similar to mine with all the folders outlined in red: Next we are going to make sure that the MinGW is in your PATH environment variable. To to this on windows 10, Search environment variable in the search on the bottom. You will get a window and on the bottom will be a button that says Environment Variables. Click it and go to the second list where its says System variables and scroll down to Path: If you dont see C:\mingw32\bin; at the front, add it in. You may need to reboot your computer to continue this tutorial, one way you can tell is if you open up command prompt and type gcc -v. If it tells you that gcc is an unrecognized program or file, reboot your computer, if not you are good to go and continue. Lastly make sure that the only file in C:\MinGW\bin should be mingw-get.exe. Now to extracting. 1. Downloading and Extracting Dependencies Here are a list of dependencies for you to download. I suggest downloading each one at a time and immediately starting the next as soon as the former has finished: OpenSSL .tar.gz DO NOT UNPACK YET Berkeley DB .tar.gz DO NOT UNPACK YET libboost 1.57.0 .zip Explorer to deps protoc and libprotobuf tar.gz 7Zip to deps libpng 1.6.16 .tar.gz 7Zip to deps qrencode .tar.gz 7Zip to deps QT Base 5.3.2 .7z 7Zip to QT rename to 5.3.2 QT Tools 5.3.2 .7z 7Zip to QT There are newer versions of QT Base and QT Tools but version 5.13 and 5.12 both have strange errors when attempted to compile. Just use 5.3.2. Once every thing is extracted to your deps folder, it should look like this: And your Qt folder should look like this: 2. Compiling Dependencies Finally time to compile, first you are gonna wanna start with OpenSSL. If you remember, I told you not to unpack it with 7ZIP, we are gonna be using tar in the MinGW shell. To open the shell, open C:\MinGW\msys\1.0\msys.bat and do the following: cd /c/deps/ tar xvfz openssl-1.0.1l.tar.gz cd openssl-1.0.1l ./Configure no-zlib no-shared no-dso no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 mingw make This will change directory to your deps folder, extract OpenSSL, configure and compile it. Next comes Berkeley DB which I also told you not to extract. Do the following in MinGW shell: cd /c/deps/ tar xvfz db-4.8.30.NC.tar.gz cd db-4.8.30.NC/build_unix ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication make After Berkeley DB finishes, we will build libboost in Windows Command Prompt: cd C:\deps\boost_1_57_0\ bootstrap.bat mingw b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage While libboost is compiling, compile protoc and libprotobuf in MinGW shell: cd /c/deps/ tar xvfz protobuf-2.6.1.tar.gz cd /c/deps/protobuf-2.6.1 configure --disable-shared make When protoc and libprotobuf are done, compile libpng in MinGW shell: cd /c/deps/libpng-1.6.16 configure --disable-shared make cp .libs/libpng16.a .libs/libpng.a That last line will rename libpng to a name that qrencode can use. Once done compile qrencode cd /c/deps/qrencode-3.4.4 LIBS="../libpng-1.6.16/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ png_CFLAGS="-I../libpng-1.6.16" \ png_LIBS="-L../libpng-1.6.16/.libs" \ configure --enable-static --disable-shared --without-tools make LIBS sets the libraries for qrencode to compile with. After set, go back to Windows Command Prompt. libboost should be done, if not wait until it is. You shold have renamed the folder QT Base extracts from to 5.3.2, the following requires that it is. Run these commands to compile QT Base and QT Tools. Note* if you have a quad core processor, run all mingw32-make commands with -j4 to speed up the compile time: set INCLUDE=C:\deps\libpng-1.6.16;C:\deps\openssl-1.0.1l\include set LIB=C:\deps\libpng-1.6.16\.libs;C:\deps\openssl-1.0.1l cd C:\Qt\5.3.2 configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug mingw32-make set PATH=%PATH%;C:\Qt\5.3.2\bin cd C:\Qt\qttools-opensource-src-5.3.2 qmake qttools.pro mingw32-make *IMPORTATNT* Now that everything is compiled rename the openssl-1.0.1l directory to openssl-1.0.1j. Finally we are ready for the gritty part of the tutorial, compiling Denarius QT 4. Downloading and Compiling Denarius QT Download which ever version of the repo you want. Beta v3.4 is here, and extract it to whichever folder you like, try to put it in a path without any spaces. the deps folder works just fine. Open up Notepad++ we will need it later. There is one last dependency to compile before we can build Denarius QT, and that is leveldb. It comes packaged with Denarius repo and is located in the src folder of your extracted download. The full path for me is C:\deps\denarius-3.4\src\leveldb. Perform the following in MinGW shell to build: cd /c/deps/denarius-3.4/src/leveldb TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a Once compiled you should see somewhere at the end both libleveldb.a and libmemenv.a. In Windows Command Prompt, change directory to your downloaded denarius folder, mine is C:\deps\denarius-3.4, set PATH to include QT Tools and use qmake: cd C:\deps\denarius-3.4 set PATH=%PATH%;C:\Qt\5.3.2\bin qmake "USE_QRCODE=1" "USE_UPNP=-" "USE_NATIVETOR=-" denarius-qt.pro This will configure our build to compile on windows with QT, and QR support and without UPNP and Native Tor. Next you wanna open Notepad++ and edit the Makefile.Release file. Press CTRL+F and search for -levent and delete it. To finally compile Denarius QT, run mingw32-make in Windows Command Prompt and wait: *Note be sure to add -j4 on the end to make it compile faster if you are on a quad core machine!!! mingw32-make If the compilation is stuck on a file for a long time, like 50 or so seconds, press CTRL + C very quickly to force the compilation to continue. This may cause an error at the end saying a file with a .o extention is corrupted or missing. Just delete that file and run the above command again. You will know that the compilation succeded when in the release folder of denarius has Denarius.exe in it. My path being C:\deps\denarius-3.4\release. If you have any questions or comments, post them below and I will try to answer them.
Hey guys, I want to compile the windows wallet myself so i'm 100% sure that the code that is shown on github is also the actual code in the wallet and that there isn't any malicious stuff added in there. The only issue is, i cant find any guide or tutorial on how to do this. Could anyone help me building the denarius windows qt wallet from the source code on github? https://github.com/carsenk/denarius I've tried to follow the https://github.com/carsenk/denarius/blob/master/doc/readme-qt.rst windows part, but i think its outdated by like 3-5 years and i cant get that to work either.. Any help on this would be really appreciated, doesn't matter if its a cross compile from linux to windows, or straight away on windows.