I doubt this will be of much help, but I have
cross-compiled microhttpd (0.9.39) on a 64-bit Linux machine
to run on a 32-bit ARM (running a buildroot/busybox-based
Linux OS). I created a reasonably sophisticated
content-management system to serve up files, dynamically
generate content, and accept/store file uploads. I run and
work with it every day with no problems.
My point is - it's definitely possible to do.
I didn't compile it on the ARM itself, though. I do it in
a 64-bit Linux VM (Ubuntu 12.04 LTS) running on x86 (host OS
is Windows 7). When running 'configure' for cross-compiling,
I export several environment variables first, and specify a
couple configure options. E.g., something like this in a bash
script in the root mhd directory:
---------------
CMAKE_C_COMPILER="<path to gcc cross compiler>"
export CMAKE_C_COMPILER
CC="<path to gcc cross compiler>"
export CC
CMAKE_CXX_COMPILER="<path to g++ cross compiler>"
export CMAKE_CXX_COMPILER
CXX="<path to g++ cross compiler>"
export CXX
./configure --prefix="<path where I want it installed so
other code can link against it>" --host=arm-linux
---------------
Then, just run that script instead of a raw 'configure',
followed by a 'make' and 'make install'
Again - I doubt this will be of much help, and setting up
the cross-compiler toolchain will probably be a pain if you
don't already have it. The suggestion to try cross-compiling
is about all I can offer, though. That will bypass any
(unlikely) problems introduced by gcc on your ARM device.
Microhttpd (and obviously the code that uses it) will
definitely run without issue on 32-bit ARM Linux.
Ken