Developers
For Developers


Compile bitmxittz wallets
=====================================================


Tools

01. Winrar
02. Sublime Text
03. Mingw-get-setup.exe
04. mingw32 4.9.1
05. OpenSSL 1.0.1j
06. Berkeley DB 4.8.30.NC
07. Boost 1_55_0
08. MiniUPNP 1.9
09. protobuf 2.5.0
10. Libpng 1.6.14
11. qrencode 3.4.4
12. Qt everywhere 4.8.6
13. Source Code


Note:
If any file within bitmxittz folder is blocked, you will not be able to compile.
By default some files are blocked when downloaded from source unknown to your computer.
To check if files are blocked or not, right click on a file then click "properties" you may see at bottom of tab "General","Security: This file came from another computer...." and button "Unblock".

Example:


This means your computer has blocked this files for security purpose because they come from another computer.
To unblock all files manually will take long and it's boring.
You can google a software to unblock all blocked files at one click or you can do it by tricking.
To unblock all at once by tricking compress folder (right click folder then "send to" and "compress zipped folder").
Now send this zipped folder to another device (PC, Mobile or any other device).
Delete original folder and compressed zipped folder on 1st device.
Now send this zipped folder back to 1st device and unzip folder, that's it.
Check some random files to make sure that files are not blocked.
This trick works on most operating system if doesn't work with your's then try alternate like sending unzipped folder and send back zipped then unzip or viseversa.



Make following changes to bitmxittz-qt.pro

11. -
11. + CONFIG += static

21. - #BOOST_LIB_SUFFIX=-mgw49-mt-s-1_55
22. - #BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0
23. - #BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib
24. - #BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix
25. - #BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix
26. - #OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include
27. - #OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j
28. - #MINIUPNPC_INCLUDE_PATH=C:/deps/
29. - #MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
30. - #QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
31. - #QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs

21. + BOOST_LIB_SUFFIX=-mgw49-mt-s-1_55
22. + BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0
23. + BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib
24. + BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix
25. + BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix
26. + OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include
27. + OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j
28. + MINIUPNPC_INCLUDE_PATH=C:/deps/
29. + MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
30. + QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
31. + QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs

61. - win32:QMAKE_LFLAGS *= -Wl,--large-address-aware
61. + win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static

118. - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
118. + #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a

Note:
We change the deps to point to the deps we created.
If you chose to place your deps in a different folder,
change the code to point to your folders.
Also -static to LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static for static linked exe,
updated UPNP Includes and Lib paths to enable UPNP.



Make following changes to C:\bitmxittz\src\makefile.mingw

From:
USE_UPNP:=-
USE_IPV6:=1

DEPSDIR?=/usr/local
BOOST_SUFFIX?=-mgw46-mt-sd-1_52

INCLUDEPATHS= \
-I"$(CURDIR)" \
-I"$(DEPSDIR)/include"

LIBPATHS= \
-L"$(CURDIR)/leveldb" \
-L"$(DEPSDIR)/lib"

LIBS= \
-l leveldb \
-l memenv \
-l boost_system$(BOOST_SUFFIX) \
-l boost_filesystem$(BOOST_SUFFIX) \
-l boost_program_options$(BOOST_SUFFIX) \
-l boost_thread$(BOOST_SUFFIX) \
-l boost_chrono$(BOOST_SUFFIX) \
-l db_cxx \
-l ssl \
-l crypto

DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
# enable: ASLR, DEP and large address aware
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware

To:
USE_UPNP:=1
USE_IPV6:=1

DEPSDIR?=/usr/local
BOOST_SUFFIX?=-mgw49-mt-s-1_55

INCLUDEPATHS= \
-I"$(CURDIR)" \
-I"/c/deps/boost_1_55_0" \
-I"/c/deps" \
-I"/c/deps/db-4.8.30.NC/build_unix" \
-I"/c/deps/openssl-1.0.1j/include"

LIBPATHS= \
-L"$(CURDIR)/leveldb" \
-L"/c/deps/boost_1_55_0/stage/lib" \
-L"/c/deps/miniupnpc" \
-L"/c/deps/db-4.8.30.NC/build_unix" \
-L"/c/deps/openssl-1.0.1j"

LIBS= \
-l leveldb \
-l memenv \
-l boost_system$(BOOST_SUFFIX) \
-l boost_filesystem$(BOOST_SUFFIX) \
-l boost_program_options$(BOOST_SUFFIX) \
-l boost_thread$(BOOST_SUFFIX) \
-l boost_chrono$(BOOST_SUFFIX) \
-l db_cxx \
-l ssl \
-l crypto

DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
# enable: ASLR, DEP and large address aware
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static

Note:
We change the deps to point to the deps we created.
If you chose to place your deps in a different folder,
change the code to point to your folders.
Also -static to LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static for static linked exe,
updated UPNP Includes and Lib paths to enable UPNP.



For Unix make following changes to C:\bitmxittz\src\makefile.linux-mingw

From:
USE_UPNP:=0
USE_IPV6:=1

INCLUDEPATHS= \
-I"$(CURDIR)" \
-I"$(CURDIR)"/obj \
-I"$(DEPSDIR)/include" \
-I"$(DEPSDIR)"

LIBPATHS= \
-L"$(DEPSDIR)/lib"

LIBS= \
$(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a \
-l boost_system-mt-s \
-l boost_filesystem-mt-s \
-l boost_program_options-mt-s \
-l boost_thread_win32-mt-s \
-l boost_chrono-mt-s \
-l db_cxx \
-l ssl \
-l crypto

DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
xCXXFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) $(CXXFLAGS)
# enable: ASLR, DEP and large address aware
xLDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static-libgcc -static-libstdc++ $(LDFLAGS)

To:
USE_UPNP:=0
USE_IPV6:=1

INCLUDEPATHS= \
-I"$(CURDIR)" \
-I"$(DEPSDIR)" \
-I"$(CURDIR)"/obj \
-I"$(DEPSDIR)/include" \
-I"/c/deps" \
-I"/c/deps/boost_1_55_0" \
-I"/c/deps/db-4.8.30.NC/build_unix" \
-I"/c/deps/openssl-1.0.1j/include"

LIBPATHS= \
-L"$(DEPSDIR)/lib"
-L"/c/deps/boost_1_55_0/stage/lib" \
-L"/c/deps/miniupnpc" \
-L"/c/deps/db-4.8.30.NC/build_unix" \
-L"/c/deps/openssl-1.0.1j"

LIBS= \
$(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a \
-l boost_system-mt-s \
-l boost_filesystem-mt-s \
-l boost_program_options-mt-s \
-l boost_thread_win32-mt-s \
-l boost_chrono-mt-s \
-l db_cxx \
-l ssl \
-l crypto

DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
xCXXFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) $(CXXFLAGS)
# enable: ASLR, DEP and large address aware
xLDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static-libgcc -static-libstdc++ $(LDFLAGS)

Note:
We change the deps to point to the deps we created.
If you chose to place your deps in a different folder,
change the code to point to your folders.
Also -static to LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static for static linked exe,
updated UPNP Includes and Lib paths to enable UPNP.



Compile Windows GUI Wallet (Method 1)


Download and install Winrar or an alternate file compression tool. http://www.rarlab.com/download.htm

Download and install a text editor such as Sublime Text.

Download and install MingW http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download

Double click to install, keep the checkbox for the GUI checked and make sure to install in C:\MinGW. Press continue. From the MinGW GUI interface, go to all packages -> MYSYS

Right click on the following installations and mark for installation.

msys-base-bin (may highlight other checkboxes which is fine)
msys-autoconf-bin
msys-automake-bin
msys-libtool-bin

Click on Installation -> Apply changes.
MinGW will now download the remaining packages. Make sure to remove any previous installs of MinGW before starting.
Once complete, navigate to C:\MinGW\bin and you should only have a mingw-get application.
If you have msys-gcc and msys-w32api you need to delete MinGW and check the correct install packages are selected above.


mingw32
You now need to change the path variables. Go to control panel->system and security->system. Click on advanced system properties->environmental variables. In the top box navigate to PATH and change to: C:\mingw32\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
Check MingW install
To start the MingW app navigate to C:\MinGW\msys\1.0\msys.bat double click and enter the following: gcc -v
Your msys output should look like the following code. $ gcc -v Using built-in specs. COLLECT_GCC=c:\mingw32\bin\gcc.exe COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.1/lto-wrapper.exe Target: i686-w64-mingw32 Configured with: ../../../src/gcc-4.9.1/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/ mingw32 --with-sysroot=/c/mingw491/i686-491-posix-dwarf-rt_v3-rev1/mingw32 --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes - -enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynam ic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-ve rsion-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw491/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw491/prerequisites/i686-w64-mingw32-static --with-mpc= /c/mingw491/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw491/prerequisites/i686-w64-mingw32-static --with-cloog=/c/mingw491 /prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev1, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw491/i686-491-posix-dwarf-rt_v3-rev1/mingw32/opt/in clude -I/c/mingw491/prerequisites/i686-zlib-static/include -I/c/mingw491/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 - pipe -I/c/mingw491/i686-491-posix-dwarf-rt_v3-rev1/mingw32/opt/include -I/c/mingw491/prerequisites/i686-zlib-static/include -I/c/mingw4 91/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw491/i686-491-posix-dwarf-rt_v3-rev1/mingw32/opt/li b -L/c/mingw491/prerequisites/i686-zlib-static/lib -L/c/mingw491/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware' Thread model: posix gcc version 4.9.1 (i686-posix-dwarf-rev1, Built by MinGW-W64 project)

OpenSSL
Open the MinGW shell at C:\MinGW\msys\1.0\msys.bat
tar xvfz openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./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


Berkeley DB
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


Boost
Using Windows command prompt
cd C:\deps\boost_1_55_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


Mini UPNP
Using Windows command prompt
cd C:\deps\miniupnpc
mingw32-make -f Makefile.mingw init upnpc-static


Protoc and Libprotobuf
Using Msys shell run
cd /c/deps/protobuf-2.5.0
configure --disable-shared
make


Libpng
Using Msys shell run
cd /c/deps/libpng-1.6.14
configure --disable-shared
make
cp .libs/libpng16.a .libs/libpng.a


QRencode
Using Msys shell run
cd /c/deps/qrencode-3.4.4

LIBS="../libpng-1.6.14/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
png_CFLAGS="-I../libpng-1.6.14" \
png_LIBS="-L../libpng-1.6.14/.libs" \
configure --enable-static --disable-shared --without-tools

make


Compile Qt
Using Windows command prompt run
cd C:\Qt\4.8.6
configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples
mingw32-make


Create libleveldb.a and libmemenv.a.
Using Msys shell
cd /C/bitmxittz/src/leveldb
TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a

If the file already exists, Msys will inform you so.

Compile Wallet
Using Windows cmd
set PATH=%PATH%;C:\Qt\4.8.6\bin
cd C:\bitmxittz\
qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" bitmxittz-qt.pro
mingw32-make -f Makefile.Release

Now bitmxittz-qt.exe will be available in folder bitmxittz\src\.

For best practise try to compile without upnp "USE_UPNP=-" first.




Compile Windows CLI Wallet (Method 1)

Compile bitmxittzd
Using Msys shell
cd /c/bitmxittz/src
make -f makefile.mingw
strip bitmxittzd.exe

You will have now bitmxittzd.exe in folder /bitmxittz/src/.




Compile Windows GUI Wallet (Method 2)

Dependencies:
Install the windows development environment and compile the dependencies as following.

Installations:
To be able to build the windows wallet you need to setup and configure a C++ development environment first. The wallet is developed with Qt and uses the MinGW compiler on windows.

Install MSYS2:
The following description comes from https://wiki.qt.io/MSYS2:

Download and install msys2 from:
https://msys2.github.io/

Execute commands to install the necesarry packages:
pacman -Sy
pacman --needed -S bash pacman pacman-mirrors msys2-runtime

[exit] -> Close the msys2 terminal window instead of using the exit command.

pacman -Su

pacman -S base-devel git mercurial cvs wget p7zip
pacman -S perl ruby python2 mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain



Install Qt 4.8.6 32 and 64 bit versions
pacman -S mingw-w64-i686-qt-creator mingw-w64-x86_64-qt-creator

Change the minimum windows version from XP to Vista or higher else Boost 1.55 will not compile.
Edit: C:\msys64\mingw32\i686-w64-mingw32\include_mingw.h
change:
#define _WIN32_WINNT 0x502
to:
#define _WIN32_WINNT 0x600



Create a symbolic link for icudt56.dll because it is needed by windeployqt
ln -s /mingw32/bin/libicudt56.dll /mingw32/bin/icudt56.dll



Start MSYS32 shell
mkdir /usr/src/deps32
cd /usr/src/deps32



OpenSSL
wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz
tar xvfz openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./Configure no-zlib no-dso no-krb5 no-camellia no-capieng no-cast 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-whirlpool mingw
make depend

make
cd ..



Berkeley DB
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
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
cd ..



Boost
wget -O boost_1_55_0.7z http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.7z?r=&ts=1460357067&use_mirror=liquidtelecom 7z x boost_1_55_0.7z



(From windows CMD shell)
cd \msys64\usr\src\deps32\boost_1_55_0\tools\build\src\engine
PATH=c:\msys64\mingw32\bin;%PATH%
.\build.bat gcc
copy bin.ntx86\*.exe ..\..\..\..



(From MSYS32 shell)
cd boost_1_55_0
vim project-config.jam
import option ;
using gcc ;
option.set keep-going : false ;
./b2 --layout=tagged --build-type=minimal variant=release link=shared define=BOOST_USE_WINAPI_VERSION=0x0600 --with-chrono --with-date_time --with-filesystem --with-program_options --with-serialization --with-system --with-thread
cd ..



MiniUPNP
wget -O miniupnpc-1.9.tar.gz http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz
tar xvfz miniupnpc-1.9.tar.gz
cd miniupnpc-1.9
vim Makefile.mingw
change: wingenminiupnpcstrings $< $@
to: ./wingenminiupnpcstrings.exe $< $@
make -f Makefile.mingw
mkdir -p include/miniupnpc
cp *.h include/miniupnpc
cd ..



QREncode
wget http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
tar xvzf qrencode-3.4.4.tar.gz
cd qrencode-3.4.4
./configure --enable-static --enable-shared --without-tools
make
cd ..



Build Binaries
cd $HOME
git clone https://github.com/bitmxittz/Bitmxittz.git
cd bitmxittz
qmake bitmxittz-qt-windows.pro -r -spec win32-g++ "CONFIG+=release" USE_UPNP=0 USE_QRCODE=1 USE_IPV6=1
make clean
cd src/leveldb
make TARGET_OS=OS_WINDOWS_CROSSCOMPILE clean
make TARGET_OS=OS_WINDOWS_CROSSCOMPILE libleveldb.a libmemenv.a
cd ../..
make release



Create deployment
cd release
rm qrc_bitcoin.cpp
windeployqt bitmxittz-qt.exe
cp ../contrib/release/opengl32sw.dll ../contrib/release/qt.conf .
cp /usr/src/deps32/boost_1_60_0/stage/lib/libboost*.dll .
cp /mingw32/bin/libpcre16-0.dll /mingw32/bin/zlib1.dll /mingw32/bin/libharfbuzz-0.dll /mingw32/bin/libpng16-16.dll /mingw32/bin/libicudt56.dll /mingw32/bin/libfreetype-6.dll .
cp /mingw32/bin/libglib-2.0-0.dll /mingw32/bin/libbz2-1.dll /mingw32/bin/libintl-8.dll /mingw32/bin/libpcre-1.dll /mingw32/bin/libiconv-2.dll .

The output will be bitmxittz-qt.exe





Compile Windows CLI wallet (Method 2)
----------------------------------------------------
Install the windows development environment and compile the dependencies as indicated in 'Setup CSC Windows Development Environment'.

Start MSYS32 shell
Build Static boost libraries

cd /usr/src/deps32/boost_1_55_0

./b2 --layout=tagged --build-type=minimal variant=release link=static define=BOOST_USE_WINAPI_VERSION=0x0600 --with-chrono --with-date_time --with-filesystem --with-program_options --with-serialization --with-system --with-thread
Build Binary




cd $HOME
git clone https://github.com/bitmxittz/Bitmxittz.git
cd bitmxittz/src/leveldb
make TARGET_OS=OS_WINDOWS_CROSSCOMPILE clean
make TARGET_OS=OS_WINDOWS_CROSSCOMPILE libleveldb.a libmemenv.a
cd ..
make -f makefile.mingw
strip bitmxittz.exe

The output will be bitmxittzd.exe




Compile linux wallet
---------------------------------------------------
if you are root user just copy paste apt-get install git qt5-default qt5-qmake qtbase5-dev-tools qttools5-dev-tools build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev libssl-dev libdb++-dev libminiupnpc-dev libqrencode-dev
if you are a non root user put sudo in front of all commands here.
On your home directory.

Git Clone https://github.com/bitmxittz/Bitmxittz.git
cd bitmxittz
make clean
make distclean
qmake bitmxittz-Qt.pro
make

The output will be bitmxittz-Qt.exe.



Compile linux daemon
---------------------------------------------------
Git Clone https://github.com/bitmxittz/Bitmxittz.git
cd bitmxittz/src
make -f makefile.unix

The output will be bitmxittzd.exe.




Common compilation errors and solutions


Windows
Error:
Makefile.Release:311: recipe for target '----' failed
Solution:

Error:
Makefile.Release:291: recipe for target '----' failed
Solution:


Linux

Error:
undefined references to `___gxx_personality_v0' follow
collect2: error: ld returned 1 exit status
makefile.unix:193: recipe for target '----' failed

Solution:
Compile linking with "g++" instead of "gcc".
If g++ still gives error Try using: g++ file.c -lstdc++
If using Cygwin compiler switch Cygwin terminal to Cygwin clang's port version.


PHP

Error:
checking for BZip2 support… yes
checking for BZip2 in default path… not found
configure: error: Please reinstall the BZip2 distribution
Solution:
yum install bzip2-devel


Error:
checking for cURL support… yes
checking if we should use cURL for url streams… no
checking for cURL in default path… not found
configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
Solution:
yum install curl-devel

Error:
checking for fabsf… yes
checking for floorf… yes
configure: error: jpeglib.h not found.
checking for fabsf… yes
checking for floorf… yes
checking for jpeg_read_header in -ljpeg… yes
configure: error: png.h not found.
Solution:
yum install libpng-devel


Error:
checking for curl_multi_strerror in -lcurl… yes
checking for QDBM support… no
checking for GDBM support… no
checking for NDBM support… no
configure: error: DBA: Could not find necessary header file(s).
Solution:
yum install db4-devel


Error:
checking for png_write_image in -lpng… yes
If configure fails try –with-xpm-dir=
configure: error: freetype.h not found.
Solution:
Fix: Reconfigure your PHP with the following option.
–with-xpm-dir=/usr


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:


Error:
Solution:




Bitmxittz Developers Team

NoName/NickContact
1.
2.
3.
4.
5.
6.
7.
8.