BUILDING RIVWEBCAPI FOR WINDOWS USING MINGW64 --------------------------------------------- To build the Rivendell Web C API client library for Windows using the MingW32 cross-compiler environment, proceed as follows: 1) Ensure that the necessary MingW32 packages are installed. On RHEL-7, this can be accomplished with the following command (as 'root'): *** snip snip *** yum install mingw32-pkg-config mingw32-headers mingw-binutils-generic mingw32-libtiff mingw32-qt mingw32-sqlite-static mingw32-qt-static mingw32-pixman mingw32-gettext mingw32-libogg mingw32-openssl mingw32-libmad mingw-filesystem-base mingw32-crt mingw32-zlib mingw32-libjpeg-turbo mingw32-expat mingw32-qt-qmake mingw32-binutils mingw32-gcc-c++ mingw32-dbus mingw32-sqlite mingw32-zlib-static mingw32-libtiff-static mingw32-libpng-static mingw32-libjpeg-turbo-static mingw32-bzip2 mingw32-fontconfig mingw32-win-iconv mingw32-termcap mingw32-glib2 mingw32-cairo-static mingw32-libsamplerate mingw32-libvorbis mingw32-libltdl mingw32-libssh2 mingw32-curl mingw32-filesystem mingw32-winpthreads mingw32-cpp mingw32-gcc mingw32-libpng mingw32-dbus-static mingw32-winpthreads-static mingw32-freetype mingw32-libffi mingw32-cairo mingw32-libsndfile mingw32-opus mingw32-libidn mingw32-nsis *** snip snip *** 2) Define the following variables in your build environment: export MINGW32_SYS_ROOT=/usr/i686-w64-mingw32/sys-root/mingw export PKG_CONFIG_PATH=$MINGW32_SYS_ROOT/lib/pkgconfig export CC=i686-w64-mingw32-gcc export CXX=i686-w64-mingw32-g++ export WINDRES=i686-w64-mingw32-windres export RANLIB=i686-w64-mingw32-gcc-ranlib 3) cd to 'apis/rivwebcapi/' in the Rivendell sources and do: ./autogen.sh ./configure --prefix=$MINGW32_SYS_ROOT --host=i686-w64-mingw32 make make install (as root) BUILDING RIVWEBCAPI FOR WINDOWS USING MICROSOFT VISUAL STUDIO 2013 [Courtesy of Todd Baker ] ------------------------------------------------------------------ - Prequesites Required - You must have the compiled library for libCurl and ExPat. You need to point at these when building rivwebcapi. My libraries were at c:\Project\ Follow these steps for building: 1) Create a Directory (I used c:\Project\rivwebcapi). 2) Copy the rivwebcapi directory (found in rivendell/apis) to that directory. This means that the autogen.sh,Makefile.in,etc. and other files will be at the top folowed by the other directories (test, rivwebcapi). 3) Start Visual Studio 4) Click 'File->New Project' and create a project with the name 'rivwebcapi'. Its location should be where you copied everything (my example 'c:\Project\rivwebcapi'). This should create a 'rivwebcapi.sln' file. 5) In the Solution Explorer - click 'source files'. Right click and click 'Add->Existing Item'. Then highlight all of the source files that you are there (*.c,*.h only). Click 'OK'. 6) Highlight 'rivwebcapi' - and right click - choose the bottom choice 'Properties->Configuration Properties->General->Configuration Type'. The type should be 'Static library (.lib)' - C/C++ General Additional Include Directories: Add C:\Project\curl-7.46.0\include. C:\Project\expat\lib C:\Project\rivwebcapi - C/C++ - General Warning Level: Warning Level3 Treat Warning as Errors: No (/WX-) SDL Checks: blank (I actually removed what was there) 7) Click 'OK' to close Properties 8) Build Solution Ensure that you are building Under 'Release - Win32' (Top drop downs) You will see a bunch of warnings - but it "should" build anyway. Last line of output is where the library was built. for me it was: 'C:\Project\rinwebcapi\Release\rivwebcapi.lib' Use the directory where the static library was built in your application which needs to use rivwebcapi. For me that was 'c:\Project\rivwebcapi\'