cclive compile

来源:互联网 发布:hm怎么没有淘宝旗舰店 编辑:程序博客网 时间:2024/06/13 15:57

Crosscompile for Windows

NOTE: This page is outdated

We cover cross-compiling 0.7 on Linux (Arch) for Windows on this page. Below you will find the scripts that we use to build the win32 binaries. Note that these scripts install the binaries to the "/opt/mingw32" directory.

Before you start

Install mingw32 to your system, e.g.:

pacman -S mingw32-binutils mingw32-gcc mingw32-runtime mingw32-w32api

Boost

#!/bin/sh# <http://boost.org>PREFIX=/opt/mingw32./bootstrap.sh --without-icu && \echo "using gcc : 4.5 : i486-mingw32-g++    :    <rc>i486-mingw32-windres    <archiver>i486-mingw32-ar;" > user-config.jam && \bjam toolset=gcc target-os=windows variant=debug \--user-config=user-config.jam \--without-mpi \--without-python \--without-graph \--without-graph_parallel \--without-math \--without-regex \--without-serialization \--without-signals \--without-test \--without-thread \--without-wave \-sNO_BZIP2=1 \-sNO_ZLIB=1  \link=shared \runtime-link=shared \--prefix=$PREFIX install

The above script borrows from http://www.vle-project.org/wiki/Cross_compilation_Win32

curl

#!/bin/sh# <http://curl.haxx.se/>export CFLAGS="-g -pipe"./configure \    --prefix=/opt/mingw32 \    --host=i486-mingw32 \    --disable-static \    --without-ssl \    --without-ipv6 \    --without-random \    --disable-ldap \    --disable-rtsp \&& make install

Lua

There is probably a better way to do this. Here's how we've done it:

#!/bin/sh# <http://lua.org/>CFLAGS="-g -pipe"DEST=/opt/mingw32cd src && \rm -f *.o && \i486-mingw32-gcc $CFLAGS -c \lapi.c    lcode.c   ldebug.c    ldo.c \ldump.c   lfunc.c   lgc.c       llex.c \lmem.c    lobject.c lopcodes.c  lparser.c \lstate.c  lstring.c ltable.c    ltm.c \lundump.c lvm.c     lzio.c && \i486-mingw32-gcc $CFLAGS -c \lauxlib.c lbaselib.c ldblib.c \liolib.c  lmathlib.c loslib.c \ltablib.c lstrlib.c  loadlib.c \linit.c && \i486-mingw32-gcc -shared -o lua51.dll *.o \-Wl,--out-implib=liblua51.dll.a \-Wl,--export-all-symbols \-Wl,--enable-auto-import && \i486-mingw32-strip lua51.dll && \mkdir -p $DEST && \mkdir -p $DEST/bin \mkdir -p $DEST/include \mkdir -p $DEST/lib \mv lua51.dll $DEST/bin && \mv liblua51.dll.a $DEST/lib && \cp lua.h luaconf.h lualib.h lauxlib.h $DEST/include && \cd ..

PCRE

#!/bin/sh# <http://pcre.org/>export CFLAGS="-g -pipe"export CXXFLAGS="-g -pipe"./configure \    --prefix=/opt/mingw32 \    --enable-unicode-properties \    --host=i486-mingw32 \    --disable-static \&& make install

iconv

#!/bin/sh# <http://www.gnu.org/software/libiconv/>export CFLAGS="-g -pipe"./configure \    --prefix=/opt/mingw32 \    --host=i486-mingw32 \    --disable-static \&& make install

quvi

#!/bin/sh# <http://quvi.sourceforge.net/>PREFIX=/opt/mingw32export CFLAGS="-g -pipe"export libcurl_CFLAGS="`$PREFIX/bin/curl-config --cflags`"export libcurl_LIBS="`$PREFIX/bin/curl-config --libs`"export libpcre_CFLAGS="`$PREFIX/bin/pcre-config --cflags`"export libpcre_LIBS="`$PREFIX/bin/pcre-config --libs`"export liblua_CFLAGS="-I$PREFIX/include"export liblua_LIBS="-L$PREFIX/lib -llua51"./configure \    --host=i486-mingw32 \    --prefix=/opt/mingw32 \    --with-libiconv-prefix=$PREFIX \    --without-man \&& make install

cclive

mkdir cc; cd cc;cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_TOOLCHAIN_FILE=../toolchains/mingw32.cmake ..make

You can find the "cclive.exe" binary in cclive/ subdir.