Environment:
-
Any compiler from the list below:
- g++ 4.8+
- MinGW-w64
- MinGW
- Microsoft Visual Studio 2015+
- Clang 3.7+
-
CMake
Libraries:
boost::localeboost::filesystemlibpng1.4+libjpegzlib(comes withlibpng)iconv(comes with POSIX)openssl1.1.0+libwebp(optional)
-
Download required dependencies (the ones with
-devor-develsuffix). On Cygwin most of them are available on Cygwin Ports. -
Run following:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=release .. # for debug build, change to debug make -j8 -
The executables should appear in
build/directory.
In this case, the project requires MinGW-w64. There are several ways to install
it, but I believe using mxe is the most pleasant way.
-
Install
mxe:git clone https://github.com/mxe/mxe.git -
Build
arc_unpacker's dependencies usingmxe(note theMXE_GCC_THREADSvariable):cd mxe MXE_GCC_THREADS=posix \ MXE_PLUGIN_DIRS=plugins/gcc6/ \ make libiconv zlib libpng jpeg boost openssl libwebp -j8 JOBS=8 -
In the
arc_unpacker's directory run following:mkdir build-mxe cd build-mxe ~/path/to/mxe/usr/bin/i686-w64-mingw32.static-cmake .. make -j8 -
The executables should appear in
build-mxe/directory.
-
Install CMake.
-
Download and install or compile dependencies:
-
In the
arc_unpacker's directory run following:mkdir build-vs cd build-vs cmake --verbose \ -G "Visual Studio 14" \ -DBOOST_ROOT="C:/pkg/boost_1_60_0" \ -DBOOST_LIBRARYDIR="C:/pkg/boost_1_60_0/bin.v2/libs" \ -DZLIB_INCLUDE_DIR="C:/pkg/zlib-1.2.8;C:/pkg/builds/zlib" \ -DZLIB_LIBRARY="C:/pkg/builds/zlib/Debug/zlibd.lib" \ -DPNG_PNG_INCLUDE_DIR="C:/pkg/libpng-1.6.20" \ -DPNG_LIBRARY="C:/pkg/builds/png/Debug/libpng16_staticd.lib" \ -DJPEG_LIBRARY="C:/pkg/libjpeg-turbo/lib/jpeg.lib" \ -DJPEG_INCLUDE_DIR="C:/pkg/libjpeg-turbo/include" \ -DOPENSSL_ROOT_DIR="C:/pkg/OpenSSL-Win32" \ -DOPENSSL_INCLUDE_DIR="C:/pkg/OpenSSL-Win32/include" \ -DICONV_LIBRARY="C:/pkg/win-iconv/build/Debug/iconv.lib" \ -DICONV_INCLUDE_DIR="C:/pkg/win-iconv" \ ..The paths in
-Dswitches should refer to locations where you installed the dependencies. -
The
.vcxprojfiles should appear inbuild-vs/directory. After you compile the project with Visual Studio, the executables should appear inbuild-vs/directory.