[rabbitmq-discuss] Is there any mature C/C++ client for rabbitmq?

techabc techabc at gmail.com
Thu Jan 13 07:01:54 GMT 2011


according the official web, the lib is still EXPERIMENTAL, not MATURE!

I download codegen(http://hg.rabbitmq.com/rabbitmq-codegen<http://hg.rabbitmq.com/rabbitmq-codegen/summary>),
config well python and simplejson, but got error below:

PYTHONPATH=../codegen python ./codegen.py header
../codegen/amqp-rabbitmq-0.9.1.
json amqp_framing.h
Traceback (most recent call last):
  File "./codegen.py", line 636, in <module>
    do_main(generateHrl, generateErl)
  File "d:\lib.rabbitmq\rabbitmq-c-16e2faae8a2f\codegen\amqp_codegen.py",
line 2
63, in do_main
    do_main_dict({"header": header_fn, "body": body_fn})
  File "d:\lib.rabbitmq\rabbitmq-c-16e2faae8a2f\codegen\amqp_codegen.py",
line 2
98, in do_main_dict
    execute(funcDict[function], sources, dest)
  File "d:\lib.rabbitmq\rabbitmq-c-16e2faae8a2f\codegen\amqp_codegen.py",
line 2
79, in execute
    remove(out_file)
WindowsError: [Error 32] : 'amqp_framing.h'
make[2]: *** [amqp_framing.h] Error 1
make[2]: Leaving directory
`/d/lib.rabbitmq/rabbitmq-c-16e2faae8a2f/librabbitmq'

make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/d/lib.rabbitmq/rabbitmq-c-16e2faae8a2f'
make: *** [all] Error 2

2011/1/13 techabc <techabc at gmail.com>

> It troubled me compile in msvc10, both failed:
> 1) dg1sbg:
> I directly open the
> D:\lib.rabbitmq\dg1sbg-librabbitmq-ffd6c00\windows\build\librabbitmq\librabbitmq.sln
> file, after config the include dir, I  got a  missing file amqp_frame.h/.cpp
> error;
> 2) rabbitmq-c-16e2faae8a2f :
> My vc10 installed at D:\Program Files @ windows 7 32bit, so I got error can
> NOT find the vc tool, then I modify the build script and specific the msvc
> directory. Finally I got " checking location of AMQP codegen directory...
> configure: error: could not find
> AMQP spec file at "'codegen/amqp-rabbitmq-0.9.1.json'" in mingw shell:
>
> see below details:
>
>
> techabc at apple ~
> $ cd /d/lib.rabbitmq/rabbitmq-c-16e2faae8a2f
>
> techabc at apple /d/lib.rabbitmq/rabbitmq-c-16e2faae8a2f
> $ etc/build.sh
> Using Visual Studio install at /d/Program Files/Microsoft Visual Studio
> 10.0
> Using Windows SDK install at /c/Program Files/Microsoft SDKs/Windows/v7.0A
> + autoreconf -i
> D:\MinGW.MSYS\bin\libtoolize: putting auxiliary files in `.'.
> D:\MinGW.MSYS\bin\libtoolize: copying file `./ltmain.sh'
> D:\MinGW.MSYS\bin\libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])'
> to con
> figure.ac and
> D:\MinGW.MSYS\bin\libtoolize: rerunning D:\MinGW.MSYS\bin\libtoolize, to
> keep th
> e correct libtool macros in-tree.
> D:\MinGW.MSYS\bin\libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in
> Make
> file.am.
> configure.ac:12: installing `./config.guess'
> configure.ac:12: installing `./config.sub'
> configure.ac:3: installing `./install-sh'
> configure.ac:3: installing `./missing'
> examples/Makefile.am: installing `./depcomp'
> + ./configure CC=cl.exe LD=link.exe CFLAGS=-nologo
> checking for a BSD-compatible install... /bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking for style of include used by make... GNU
> checking for gcc... cl.exe
> checking whether the C compiler works... yes
> checking for C compiler default output file name... conftest.exe
> checking for suffix of executables... .exe
> checking whether we are cross compiling... no
> checking for suffix of object files... obj
> checking whether we are using the GNU C compiler... no
> checking whether cl.exe accepts -g... yes
> checking for cl.exe option to accept ISO C89... none needed
> checking dependency style of cl.exe... none
> checking how to run the C preprocessor... cl.exe -E
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... no
> checking for inttypes.h... no
> checking for stdint.h... yes
> checking for unistd.h... no
> checking minix/config.h usability... no
> checking minix/config.h presence... no
> checking for minix/config.h... no
> checking whether it is safe to define __EXTENSIONS__... yes
> checking for gcc... (cached) cl.exe
> checking whether we are using the GNU C compiler... (cached) no
> checking whether cl.exe accepts -g... (cached) yes
> checking for cl.exe option to accept ISO C89... (cached) none needed
> checking dependency style of cl.exe... (cached) none
> checking build system type... i686-pc-mingw32
> checking host system type... i686-pc-mingw32
> checking for as... as
> checking for dlltool... dlltool
> checking for objdump... objdump
> checking how to print strings... printf
> checking for a sed that does not truncate output... /bin/sed
> checking for fgrep... /bin/grep -F
> checking for non-GNU ld... link.exe
> checking if the linker (link.exe) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /mingw/bin/nm
> checking the name lister (/mingw/bin/nm) interface... BSD nm
> checking whether ln -s works... no, using cp -p
> checking the maximum length of command line arguments... 8192
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... yes
> checking how to convert i686-pc-mingw32 file names to i686-pc-mingw32
> format...
> func_convert_file_msys_to_w32
> checking how to convert i686-pc-mingw32 file names to toolchain format...
> func_c
> onvert_file_msys_to_w32
> checking for link.exe option to reload object files... -r
> checking for objdump... (cached) objdump
> checking how to recognize dependent libraries... file_magic ^x86 archive
> import|
> ^x86 DLL
> checking for dlltool... (cached) dlltool
> checking how to associate runtime and link libraries...
> func_cygming_dll_for_imp
> lib
> checking for ar... ar
> checking for archiver @FILE support... @
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /mingw/bin/nm output from cl.exe object... ok
> checking for sysroot... no
> checking for mt... no
> checking if : is a manifest tool... no
> checking for dlfcn.h... no
> checking for objdir... .libs
> checking for cl.exe option to produce PIC... -DDLL_EXPORT -DPIC
> checking if cl.exe PIC flag -DDLL_EXPORT -DPIC works... yes
> checking if cl.exe static flag  works... yes
> checking if cl.exe supports -c -o file.obj... no
> checking if cl.exe supports -c -o file.obj... (cached) no
> checking if we can lock with hard links... yes
> checking whether the cl.exe linker (link.exe) supports shared libraries...
> yes
> checking dynamic linker characteristics... Win32 link.exe
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking for ANSI C header files... (cached) yes
> checking for inline... __inline
> checking location of AMQP codegen directory... configure: error: could not
> find
> AMQP spec file at "'codegen/amqp-rabbitmq-0.9.1.json'"
>
> techabc at apple /d/lib.rabbitmq/rabbitmq-c-16e2faae8a2f
> $
>
>
> what should I do?
>
> 2011/1/11 David Wragg <david at rabbitmq.com>
>
>> techabc <techabc at gmail.com> writes:
>>
>> > but NOT support m$ windows platform.
>> > the *dg1sbg* branch (https://github.com/dg1sbg, include 2 entry, but
>> what
>> > the* difference*? ) seems can't keep the same step with rabbitmq-c.
>>
>> rabbitmq-c has supported building on Windows with the Microsoft compiler
>> for a few months.  See the README.windows file for details.
>>
>> David
>>
>> --
>> David Wragg
>> Staff Engineer, RabbitMQ
>> SpringSource, a division of VMware
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110113/b6d4a2e1/attachment.htm>


More information about the rabbitmq-discuss mailing list