The rabbitmq-c library should compile with cmake under VS2010/<br><br><div class="gmail_quote">On Mon, Jan 16, 2012 at 5:04 AM, TZHA <span dir="ltr">&lt;<a href="mailto:sophiewenxizhang@googlemail.com">sophiewenxizhang@googlemail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I just want to confirm that the cmake build works under my Window with<br>
VS2010.<br>
<br>
Thanks.<br>
<div class="HOEnZb"><div class="h5"><br>
On 2 Dez. 2011, 17:26, TZHA &lt;<a href="mailto:sophiewenxizh...@googlemail.com">sophiewenxizh...@googlemail.com</a>&gt; wrote:<br>
&gt; Thanks for the reply.<br>
&gt;<br>
&gt; I will check it during the next week.<br>
&gt;<br>
&gt; On 28 Nov., 15:33, David Wragg &lt;<a href="mailto:da...@rabbitmq.com">da...@rabbitmq.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;TZHA&lt;<a href="mailto:sophiewenxizh...@googlemail.com">sophiewenxizh...@googlemail.com</a>&gt; writes:<br>
&gt; &gt; &gt; The error I got with the latest version ofrabbitmq-cwas:<br>
&gt;<br>
&gt; &gt; &gt; &quot;A buffer overrun has occurred in z_rabbitmq_client_consumer.exe which<br>
&gt; &gt; &gt; has corrupted the program&#39;s internal state. Press Break to debug the<br>
&gt; &gt; &gt; program or Continue to terminate the program.<br>
&gt;<br>
&gt; &gt; This is because you are trying to use a mingw build of librabbitmq from<br>
&gt; &gt; Visual Studio. �This doesn&#39;t work because VS and gcc disagree about x86<br>
&gt; &gt; calling conventions. �As a result, the program crashes is a way that VS<br>
&gt; &gt; diagnoses as a buffer overrun.<br>
&gt;<br>
&gt; &gt; &gt; I started VS 2010 debugging on a consumer project (c++) which uses the<br>
&gt; &gt; &gt;rabbitmq-cc api.<br>
&gt;<br>
&gt; &gt; &gt; I guess I finally found out at least the reason for my previous<br>
&gt; &gt; &gt; error. �I used a c++ wrapper (amqpcpp �- modified) which calls<br>
&gt; &gt; &gt; amqp_simple_rpc to implement the consumer, which then caused the error<br>
&gt; &gt; &gt; (but runs correctly with DEBUG).<br>
&gt;<br>
&gt; &gt; &gt; I modified the code to use amqp_basic_consume (following the<br>
&gt; &gt; &gt; consumer.c), the c++ consumer �application works now.<br>
&gt;<br>
&gt; &gt; &gt; However, I still have the buffer overrun problem with the latest<br>
&gt; &gt; &gt; version. I used MinGW to build the package. �Do you whether there is a<br>
&gt; &gt; &gt; guide/readme for cmake build?<br>
&gt;<br>
&gt; &gt; There are some brief instructions in therabbitmq-cREADME. �In more<br>
&gt; &gt; detail:<br>
&gt;<br>
&gt; &gt; Install cmake (from &lt;<a href="http://cmake.org/" target="_blank">http://cmake.org/</a>&gt;). �Then open up a command<br>
&gt; &gt; prompt, create a build directory, and from there run cmake with the path<br>
&gt; &gt; to therabbitmq-csource directory:<br>
&gt;<br>
&gt; &gt; Z:\&gt;cd tmp<br>
&gt;<br>
&gt; &gt; Z:\tmp&gt;mkdirrabbitmq-c-build<br>
&gt;<br>
&gt; &gt; Z:\tmp&gt;cdrabbitmq-c-build<br>
&gt;<br>
&gt; &gt; Z:\tmp\rabbitmq-c-build&gt;cmake ..\rabbitmq-c<br>
&gt; &gt; -- Building for: Visual Studio 10<br>
&gt; &gt; -- Check for working C compiler using: Visual Studio 10<br>
&gt; &gt; -- Check for working C compiler using: Visual Studio 10 -- works<br>
&gt; &gt; -- Detecting C compiler ABI info<br>
&gt; &gt; -- Detecting C compiler ABI info - done<br>
&gt; &gt; -- Found PythonInterp: C:/Python27/python.exe (found version &quot;2.7&quot;)<br>
&gt; &gt; -- Using amqp_codegen.py in Z:/tmp/rabbitmq-codegen<br>
&gt; &gt; -- Configuring done<br>
&gt; &gt; -- Generating done<br>
&gt; &gt; -- Build files have been written to: Z:/tmp/rabbitmq-c-build<br>
&gt;<br>
&gt; &gt; Then open up therabbitmq-c.sln file in VS, and build.<br>
&gt;<br>
&gt; &gt; --<br>
&gt; &gt; David Wragg<br>
&gt; &gt; Staff Engineer, RabbitMQ<br>
&gt; &gt; VMware, Inc.<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; rabbitmq-discuss mailing list<br>
&gt; &gt; rabbitmq-disc...@lists.rabbitmq.comhttps://<a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; rabbitmq-discuss mailing list<br>
&gt; rabbitmq-disc...@lists.rabbitmq.comhttps://<a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</div></div></blockquote></div><br>