/MEGAsync

Easy automated syncing between your computers and your MEGA Cloud Drive

Primary LanguageC++OtherNOASSERTION

MEGA Sync Client

Easy automated syncing between your computers and your MEGA cloud drive.

This repository contains all the development history of the official sync client of MEGA: https://mega.nz/sync

Supported Platforms

  • Microsoft Windows operating systems
  • OS X
  • Linux

Get the source

git clone --recursive https://github.com/meganz/MEGAsync.git

Windows compilation

Requirements:
  • Visual Studio 2015
  • QT 5.6.3
  • Qt Creator
Preparation:

1.- Prepare QTCreator to use the Visual Studio 2015 toolchain and QT 5.6.3 - 32 bits

2.- Clone or download this repo

3.- Create a folder Release_x32 inside the root of the code that you have just downloaded

4.- Download the required third party libraries from this link: https://mega.nz/#!8tZglCTR!cZ_B39i9YxLgt3_8x9LsOpFhFDHuAh4jdz78IuQTQT4

5.- Uncompress that file into src\MEGASync\mega\bindings\qt

6.- Open the project src/MEGA.pro with QTCreator

7.- Select the folder Release_x32 as the target for Release and Debug builds

8.- Build the project

9.- Copy or move the .dll files from the folder src\MEGASync\mega\bindings\qt\3rdparty\bin to the folder Release_x32\MEGASync

10.- Enjoy!

It's recommended to go to Project -> Run in QTCreator and disable the option Run in terminal

OS X compilation

Requirements:
  • Xcode 8.3
  • QT 5.6.3
Preparation:

1.- Install Xcode in your system

2.- Clone or download this repo

3.- Download the required third party libraries and configuration file (config.h) from this link: https://mega.nz/#!T14B0Y4T!EXGg9dRtacgz9_vCUtVq5tj6C3PBpkOHgXG289EBxBM

4.- Uncompress that file and move the folder 3rdparty into src/MEGASync/mega/bindings/qt/ and the file config.h into src/MEGASync/mega/include/mega/

5.- Run the script installer_mac.sh to build the project and generate the application bundle for MEGAsync. If you want to generate an Apple disk image (DMG file), add the flag --create-dmg. Build directory is Release_x64

6.- Enjoy!

Linux compilation

Requirements:

  • Using gcc compiler below version 5 might result in compiler errors.
  • Third party requirements vary depending on your system.

Preparation:

First install dependencies. e.g., for a debian/ubuntu with QT >= 5.6 (e.g: Ubuntu 18.04):

sudo apt-get install libzen-dev libmediainfo-dev debhelper qtbase5-dev qt5-qmake libqt5x11extras5-dev libqt5dbus5 libqt5svg5-dev libcrypto++-dev libraw-dev libc-ares-dev libssl-dev libsqlite3-dev zlib1g-dev wget dh-autoreconf cdbs unzip libtool-bin pkg-config qt5-default qttools5-dev-tools libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev

for older debian/ubuntu based systems (e.g: Ubuntu 16.04):

sudo apt-get install build-essential autoconf automake m4 libtool libtool-bin qt4-qmake make libqt4-dev libcrypto++-dev libsqlite3-dev libc-ares-dev libcurl4-openssl-dev libssl-dev libraw-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev
# Optional, if you wish to build nautilus extension:
sudo apt-get install libnautilus-extension-dev

Addition: for RPM based (e.g: Fedora):

sudo dnf install libtool gcc-c++ c-ares-devel cryptopp-devel openssl-devel qt-devel sqlite-devel zlib-devel LibRaw-devel

Building:

cd src
./configure
qmake MEGA.pro
lrelease MEGASync/MEGASync.pro
make

Note: when compiling for Fedora/RHEL/CentOS and alike, qmake and lrelease might be missing for qt4. Use qmake-qt4 and lrelease-qt4 instead. Also, adding -q to configure is recommended in order to download and build cryptopp for RHEL and CentOS.

Known Issues

For Solus, c-ares might not compile do to a CFLAG defined by gcc: -D_FORTIFY_SOURCE=2. This issue and its possible solution is described here c-ares/c-ares#58 and http://ma.tc/ehuboqatec.md.