<div>Thanks a lot. </div><div><br></div>I have try the default branch of rabbitmq-c and codegen just now, and still report error bellow:<div><br></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 10.8333px; border-collapse: collapse; "><div>
examples/Makefile.am: installing `./depcomp&#39;</div><div>+ ./configure CC=cl.exe LD=link.exe CFLAGS=-nologo</div><div>checking for a BSD-compatible install... /bin/install -c</div><div>checking whether build environment is sane... yes</div>
<div>checking for a thread-safe mkdir -p... /bin/mkdir -p</div><div>checking for gawk... gawk</div><div>checking whether make sets $(MAKE)... yes</div><div>checking for style of include used by make... GNU</div><div>checking for gcc... cl.exe</div>
<div>checking whether the C compiler works... yes</div><div>checking for C compiler default output file name... conftest.exe</div><div>checking for suffix of executables... .exe</div><div>checking whether we are cross compiling... no</div>
<div>checking for suffix of object files... obj</div><div>checking whether we are using the GNU C compiler... no</div><div>checking whether cl.exe accepts -g... yes</div><div>checking for cl.exe option to accept ISO C89... none needed</div>
<div>checking dependency style of cl.exe... none</div><div>checking how to run the C preprocessor... cl.exe -E</div><div>checking for grep that handles long lines and -e... /bin/grep</div><div>checking for egrep... /bin/grep -E</div>
<div>checking for ANSI C header files... yes</div><div>checking for sys/types.h... yes</div><div>checking for sys/stat.h... yes</div><div>checking for stdlib.h... yes</div><div>checking for string.h... yes</div><div>checking for memory.h... yes</div>
<div>checking for strings.h... no</div><div>checking for inttypes.h... no</div><div>checking for stdint.h... yes</div><div>checking for unistd.h... no</div><div>checking minix/config.h usability... no</div><div>checking minix/config.h presence... no</div>
<div>checking for minix/config.h... no</div><div>checking whether it is safe to define __EXTENSIONS__... yes</div><div>checking for gcc... (cached) cl.exe</div><div>checking whether we are using the GNU C compiler... (cached) no</div>
<div>checking whether cl.exe accepts -g... (cached) yes</div><div>checking for cl.exe option to accept ISO C89... (cached) none needed</div><div>checking dependency style of cl.exe... (cached) none</div><div>checking build system type... i686-pc-mingw32</div>
<div>checking host system type... i686-pc-mingw32</div><div>checking for as... as</div><div>checking for dlltool... dlltool</div><div>checking for objdump... objdump</div><div>checking how to print strings... printf</div>
<div>checking for a sed that does not truncate output... /bin/sed</div><div>checking for fgrep... /bin/grep -F</div><div>checking for non-GNU ld... link.exe</div><div>checking if the linker (link.exe) is GNU ld... no</div>
<div>checking for BSD- or MS-compatible name lister (nm)... /mingw/bin/nm</div><div>checking the name lister (/mingw/bin/nm) interface... BSD nm</div><div>checking whether ln -s works... no, using cp -p</div><div>checking the maximum length of command line arguments... 8192</div>
<div>checking whether the shell understands some XSI constructs... yes</div><div>checking whether the shell understands &quot;+=&quot;... yes</div><div>checking how to convert i686-pc-mingw32 file names to i686-pc-mingw32 format...</div>
<div>func_convert_file_msys_to_w32</div><div>checking how to convert i686-pc-mingw32 file names to toolchain format... func_c</div><div>onvert_file_msys_to_w32</div><div>checking for link.exe option to reload object files... -r</div>
<div>checking for objdump... (cached) objdump</div><div>checking how to recognize dependent libraries... file_magic ^x86 archive import|</div><div>^x86 DLL</div><div>checking for dlltool... (cached) dlltool</div><div>checking how to associate runtime and link libraries... func_cygming_dll_for_imp</div>
<div>lib</div><div>checking for ar... ar</div><div>checking for archiver @FILE support... @</div><div>checking for strip... strip</div><div>checking for ranlib... ranlib</div><div>checking command to parse /mingw/bin/nm output from cl.exe object... ok</div>
<div>checking for sysroot... no</div><div>checking for mt... no</div><div>checking if : is a manifest tool... no</div><div>checking for dlfcn.h... no</div><div>checking for objdir... .libs</div><div>checking for cl.exe option to produce PIC... -DDLL_EXPORT -DPIC</div>
<div>checking if cl.exe PIC flag -DDLL_EXPORT -DPIC works... yes</div><div>checking if cl.exe static flag  works... yes</div><div>checking if cl.exe supports -c -o file.obj... no</div><div>checking if cl.exe supports -c -o file.obj... (cached) no</div>
<div>checking if we can lock with hard links... yes</div><div>checking whether the cl.exe linker (link.exe) supports shared libraries... yes</div><div>checking dynamic linker characteristics... Win32 link.exe</div><div>checking how to hardcode library paths into programs... immediate</div>
<div>checking whether stripping libraries is possible... yes</div><div>checking if libtool supports shared libraries... yes</div><div>checking whether to build shared libraries... yes</div><div>checking whether to build static libraries... yes</div>
<div>checking for ANSI C header files... (cached) yes</div><div>checking for inline... __inline</div><div>checking location of AMQP codegen directory... codegen</div><div>checking finding a python with simplejson installed... python</div>
<div>checking for poptGetContext in -lpopt... no</div><div>checking for xmlto... no</div><div>configure: creating ./config.status</div><div>config.status: creating Makefile</div><div>config.status: creating librabbitmq/Makefile</div>
<div>config.status: creating tests/Makefile</div><div>config.status: creating examples/Makefile</div><div>config.status: creating tools/Makefile</div><div>config.status: creating tools/doc/Makefile</div><div>config.status: creating config.h</div>
<div>config.status: executing depfiles commands</div><div>config.status: executing libtool commands</div><div>+ sed -i -e &#39;s/^fix_srcfile_path=.*$/fix_srcfile_path=&quot;&quot;/;s/^deplibs_check_metho</div><div>d=.*$/deplibs_check_method=pass_all/;/^archive_cmds=/s/-link -dll/&amp; -implib:\\$l</div>
<div>ibname.\\$libext/&#39; libtool</div><div>+ make</div><div>make  all-recursive</div><div>make[1]: Entering directory `/d/lib.rabbitmq/default/rabbitmq-c&#39;</div><div>Making all in librabbitmq</div><div>make[2]: Entering directory `/d/lib.rabbitmq/default/rabbitmq-c/librabbitmq&#39;</div>
<div class="im" style="color: rgb(80, 0, 80); "><div>PYTHONPATH=../codegen python ./codegen.py header ../codegen/amqp-rabbitmq-0.9.1.</div><div>json amqp_framing.h</div></div><div>PYTHONPATH=../codegen python ./codegen.py body ../codegen/amqp-rabbitmq-0.9.1.js</div>
<div>on amqp_framing.c</div><div>make  all-am</div><div>make[3]: Entering directory `/d/lib.rabbitmq/default/rabbitmq-c/librabbitmq&#39;</div><div>source=&#39;amqp_mem.c&#39; object=&#39;amqp_mem.lo&#39; libtool=yes \</div>
<div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div><div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_m</div>
<div>em.lo amqp_mem.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_mem.c  -DDLL_EXPORT -DPIC</div><div>amqp_mem.c</div><div>libtool: compile: mv -f &quot;amqp_mem.obj&quot; &quot;.libs/amqp_mem.obj&quot;</div>
<div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_mem.c &gt;/dev/null 2&gt;&amp;1</div><div>source=&#39;amqp_table.c&#39; object=&#39;amqp_table.lo&#39; libtool=yes \</div>
<div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div><div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_t</div>
<div>able.lo amqp_table.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_table.c  -DDLL_EXPORT -DPIC</div><div>amqp_table.c</div>
<div>libtool: compile: mv -f &quot;amqp_table.obj&quot; &quot;.libs/amqp_table.obj&quot;</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_table.c &gt;/dev/null 2&gt;&amp;1</div>
<div>source=&#39;amqp_connection.c&#39; object=&#39;amqp_connection.lo&#39; libtool=yes \</div><div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div><div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div>
<div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_c</div><div>onnection.lo amqp_connection.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_connection.c  -DDLL_EXPORT -DPIC</div><div>amqp_connection.c</div><div>libtool: compile: mv -f &quot;amqp_connection.obj&quot; &quot;.libs/amqp_connection.obj&quot;</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_connection.c &gt;/dev/null 2&gt;&amp;1</div><div>source=&#39;amqp_socket.c&#39; object=&#39;amqp_socket.lo&#39; libtool=yes \</div><div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div>
<div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_s</div><div>ocket.lo amqp_socket.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_socket.c  -DDLL_EXPORT -DPIC</div><div>amqp_socket.c</div><div>libtool: compile: mv -f &quot;amqp_socket.obj&quot; &quot;.libs/amqp_socket.obj&quot;</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_socket.c &gt;/dev/null 2&gt;&amp;1</div><div>source=&#39;amqp_api.c&#39; object=&#39;amqp_api.lo&#39; libtool=yes \</div><div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div>
<div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_a</div><div>pi.lo amqp_api.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_api.c  -DDLL_EXPORT -DPIC</div><div>amqp_api.c</div><div>libtool: compile: mv -f &quot;amqp_api.obj&quot; &quot;.libs/amqp_api.obj&quot;</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div>
<div>BITMQ -I../msinttypes -nologo -c amqp_api.c &gt;/dev/null 2&gt;&amp;1</div><div>source=&#39;windows/socket.c&#39; object=&#39;socket.lo&#39; libtool=yes \</div><div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div>
<div>        /bin/sh ../libtool  --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div> -I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o socke</div><div>t.lo `test -f &#39;windows/socket.c&#39; || echo &#39;./&#39;`windows/socket.c</div>
<div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c windows/socket.c  -DDLL_EXPORT -DPIC</div><div>socket.c</div><div>libtool: compile: mv -f &quot;socket.obj&quot; &quot;.libs/socket.obj&quot;</div>
<div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c windows/socket.c &gt;/dev/null 2&gt;&amp;1</div><div>source=&#39;amqp_framing.c&#39; object=&#39;amqp_framing.lo&#39; libtool=yes \</div>
<div>        DEPDIR=.deps depmode=none /bin/sh ../depcomp \</div><div>        /bin/sh ../libtool --tag=CC   --mode=compile cl.exe -DHAVE_CONFIG_H -I.</div><div>-I..    -I./windows -DBUILDING_LIBRABBITMQ  -I../msinttypes -nologo -c -o amqp_f</div>
<div>raming.lo amqp_framing.c</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_framing.c  -DDLL_EXPORT -DPIC</div><div>amqp_framing.c</div>
<div>libtool: compile: mv -f &quot;amqp_framing.obj&quot; &quot;.libs/amqp_framing.obj&quot;</div><div>libtool: compile:  cl.exe -DHAVE_CONFIG_H -I. -I.. -I./windows -DBUILDING_LIBRAB</div><div>BITMQ -I../msinttypes -nologo -c amqp_framing.c &gt;/dev/null 2&gt;&amp;1</div>
<div>/bin/sh ../libtool --tag=CC   --mode=link cl.exe -I./windows -DBUILDING_LIBRABBI</div><div>TMQ  -I../msinttypes -nologo -no-undefined  -o <a href="http://librabbitmq.la/" target="_blank" style="color: rgb(28, 81, 168); ">librabbitmq.la</a> -rpath /usr/local/</div>
<div>lib amqp_mem.lo amqp_table.lo amqp_connection.lo amqp_socket.lo amqp_api.lo sock</div><div>et.lo amqp_framing.lo ws2_32.lib</div><div><br></div><div>*** Warning: Linking the shared library <a href="http://librabbitmq.la/" target="_blank" style="color: rgb(28, 81, 168); ">librabbitmq.la</a> against the</div>
<div>*** static library ws2_32.lib is not portable!</div><div>libtool: link: /mingw/bin/nm  .libs/amqp_mem.obj .libs/amqp_table.obj .libs/amqp</div><div>_connection.obj .libs/amqp_socket.obj .libs/amqp_api.obj .libs/socket.obj .libs/</div>
<div>amqp_framing.obj   | sed -n -e &#39;s/^.*[   ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*_\</div><div>([_A-Za-z][_A-Za-z0-9]*\)\{0,1\}$/\1 _\2 \2/p&#39; | sed &#39;/ __gnu_lto/d&#39; | /bin/sed</div><div>-e &#39;/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/&#39; | /bin/sed -e &#39;/^[AITW][ ]/s/.*[ ]/</div>
<div>/&#39; | sort | uniq &gt; .libs/rabbitmq.exp</div><div>libtool: link: if test &quot;x`/bin/sed 1q .libs/rabbitmq.exp`&quot; = xEXPORTS; then sed</div><div>-n -e s/\\\(.*\\\)/-link\ -EXPORT:\\\1/ -e 1\!p &lt; .libs/rabbitmq.exp &gt; .libs/rab</div>
<div>bitmq-0.dll.exp; else sed -e s/\\\(.*\\\)/-link\ -EXPORT:\\\1/ &lt; .libs/rabbitmq.</div><div>exp &gt; .libs/rabbitmq-0.dll.exp; fi</div><div>libtool: link:  cl.exe -o .libs\\rabbitmq-0.dll  .libs/amqp_mem.obj .libs/amqp_t</div>
<div>able.obj .libs/amqp_connection.obj .libs/amqp_socket.obj .libs/amqp_api.obj .lib</div><div>s/socket.obj .libs/amqp_framing.obj      ws2_32.lib &quot;@.libs\\rabbitmq-0.dll.exp&quot;</div><div> -Wl,-DLL,-IMPLIB:&quot;.libs\\rabbitmq.dll.lib&quot;</div>
<div>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86</div><div>Copyright (C) Microsoft Corporation.  All rights reserved.</div><div><br></div><div>cl : Command line warning D9035 : option &#39;o&#39; has been deprecated and will be rem</div>
<div>oved in a future release</div><div>cl -link -EXPORT:amqp_abort</div><div>   -link -EXPORT:amqp_basic_ack</div><div>   -link -EXPORT:amqp_basic_consume</div><div>   -link -EXPORT:amqp_basic_get</div><div>   -link -EXPORT:amqp_basic_publish</div>
<div>   -link -EXPORT:amqp_bytes_free</div><div>   -link -EXPORT:amqp_bytes_malloc</div><div>   -link -EXPORT:amqp_bytes_malloc_dup</div><div>   -link -EXPORT:amqp_channel_close</div><div>   -link -EXPORT:amqp_channel_open</div>
<div>   -link -EXPORT:amqp_connection_close</div><div>   -link -EXPORT:amqp_constant_is_hard_error</div><div>   -link -EXPORT:amqp_constant_name</div><div>   -link -EXPORT:amqp_cstring_bytes</div><div>   -link -EXPORT:amqp_data_in_buffer</div>
<div>   -link -EXPORT:amqp_decode_method</div><div>   -link -EXPORT:amqp_decode_properties</div><div>   -link -EXPORT:amqp_decode_table</div><div>   -link -EXPORT:amqp_destroy_connection</div><div>   -link -EXPORT:amqp_empty_array,DATA</div>
<div>   -link -EXPORT:amqp_empty_bytes,DATA</div><div>   -link -EXPORT:amqp_empty_table,DATA</div><div>   -link -EXPORT:amqp_encode_method</div><div>   -link -EXPORT:amqp_encode_properties</div><div>   -link -EXPORT:amqp_encode_table</div>
<div>   -link -EXPORT:amqp_error_string</div><div>   -link -EXPORT:amqp_exchange_declare</div><div>   -link -EXPORT:amqp_frames_enqueued</div><div>   -link -EXPORT:amqp_get_channel_max</div><div>   -link -EXPORT:amqp_get_rpc_reply</div>
<div>   -link -EXPORT:amqp_get_sockfd</div><div>   -link -EXPORT:amqp_handle_input</div><div>   -link -EXPORT:amqp_login</div><div>   -link -EXPORT:amqp_maybe_release_buffers</div><div>   -link -EXPORT:amqp_method_has_content</div>
<div>   -link -EXPORT:amqp_method_name</div><div>   -link -EXPORT:amqp_new_connection</div><div>   -link -EXPORT:amqp_open_socket</div><div>   -link -EXPORT:amqp_os_error_string</div><div>   -link -EXPORT:amqp_pool_alloc</div>
<div>   -link -EXPORT:amqp_pool_alloc_bytes</div><div>   -link -EXPORT:amqp_queue_bind</div><div>   -link -EXPORT:amqp_queue_declare</div><div>   -link -EXPORT:amqp_queue_delete</div><div>   -link -EXPORT:amqp_queue_purge</div>
<div>   -link -EXPORT:amqp_queue_unbind</div><div>   -link -EXPORT:amqp_release_buffers</div><div>   -link -EXPORT:amqp_release_buffers_ok</div><div>   -link -EXPORT:amqp_send_frame</div><div>   -link -EXPORT:amqp_send_header</div>
<div>   -link -EXPORT:amqp_send_method</div><div>   -link -EXPORT:amqp_set_sockfd</div><div>   -link -EXPORT:amqp_simple_rpc</div><div>   -link -EXPORT:amqp_simple_wait_frame</div><div>   -link -EXPORT:amqp_simple_wait_method</div>
<div>   -link -EXPORT:amqp_socket_init</div><div>   -link -EXPORT:amqp_table_entry_cmp</div><div>   -link -EXPORT:amqp_tune_connection</div><div>   -link -EXPORT:amqp_tx_commit</div><div>   -link -EXPORT:amqp_tx_rollback</div>
<div>   -link -EXPORT:amqp_tx_select</div><div>   -link -EXPORT:amqp_version</div><div>   -link -EXPORT:empty_amqp_pool</div><div>   -link -EXPORT:init_amqp_pool</div><div>   -link -EXPORT:recycle_amqp_pool</div><div>cl : Command line error D8021 : invalid numeric argument &#39;/Wl,-DLL,-IMPLIB:.libs</div>
<div>\rabbitmq.dll.lib&#39;</div><div>make[3]: *** [<a href="http://librabbitmq.la/" target="_blank" style="color: rgb(28, 81, 168); ">librabbitmq.la</a>] Error 2</div><div>make[3]: Leaving directory `/d/lib.rabbitmq/default/rabbitmq-c/librabbitmq&#39;</div>
<div>make[2]: *** [all] Error 2</div><div>make[2]: Leaving directory `/d/lib.rabbitmq/default/rabbitmq-c/librabbitmq&#39;</div><div class="im" style="color: rgb(80, 0, 80); "><div>make[1]: *** [all-recursive] Error 1</div>
</div><div>make[1]: Leaving directory `/d/lib.rabbitmq/default/rabbitmq-c&#39;</div><div>make: *** [all] Error 2</div><div><br></div></span><br><div class="gmail_quote">2011/1/13 David Wragg <span dir="ltr">&lt;<a href="mailto:david@rabbitmq.com">david@rabbitmq.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Ah, it looks like you have got code from the tip of the Mercurial<br>
repository, which is on a development branch.  I think this explains<br>
your build problem.  Instead of downloading from the main repository<br>
page, please download from<br>
<br>
<a href="http://hg.rabbitmq.com/rabbitmq-c/rev/default" target="_blank">http://hg.rabbitmq.com/rabbitmq-c/rev/default</a><br>
<br>
and<br>
<br>
<a href="http://hg.rabbitmq.com/rabbitmq-codegen/rev/default" target="_blank">http://hg.rabbitmq.com/rabbitmq-codegen/rev/default</a><br>
<div><div></div><div class="h5"><br>
<br>
David<br>
<br>
--<br>
David Wragg<br>
Staff Engineer, RabbitMQ<br>
SpringSource, a division of VMware<br>
</div></div></blockquote></div><br></div>