There is something very screwy going on. I found an error in my release 
mode build. I said 

_SECURE_SCL_THROWS=1
_SECURE_SCL=1

which I am not supposed to do in release mode. I removed this and rebuilt. 
The error mutated slightly but is still there. This shows that the problem 
is to do with my build. But I would still appreciate any help/insight.

I am wondering if I need to remove those macros from the build of the APR 
components. I thought the APR was all coded in C, so how could this make 
any difference? Not sure. All opinions welcome.

Another thing - the size of the release mode library is HUGE: 636 MB, as 
opposed to 155 MB in Debug mode. Why is there such a huge difference? And 
why this way around. I would be grateful if anyone would report on how big 
their debug and release libraries are. Checking some file sizes I see that 
the object code files in the Release directory are huge. The largest 
object file in debug mode is 928 KB. In Release mode the largest object 
file (for a different source file as it happens) is 2228 KB.

Yet one more thing: I can run nm on the debug lib under cygwin and all is 
well. Running nm on the one built in release mode gives lots of warnings 
about bad object code. The symbols are produced but those warning are very 
worrying. The message says: File format not recognised. Doing an nm on an 
individual object file gives: File truncated.

Regards,

Andrew Marlow




Internet 
tabish...@gmail.com
05/07/2010 16:30
Please respond to
users@activemq.apache.org


To
users@activemq.apache.org
cc

Subject
Re: activemq-cpp problems with VS 2005 in Release mode






On Mon, 2010-07-05 at 16:07 +0100, andrew.mar...@uk.bnpparibas.com
wrote:
> I have built version 3.2.1 of amq-cpp and have a serious problem when 
> using release mode. Debug mode is just fine.
> 
> I have built apr, apr-iconv, apr-util and expat from source.
> 
> I have added the following macros to all builds:
> 
> WIN32
> _WINDOWS
> NOMINMAX
> _SECURE_SCL_THROWS=1
> _SECURE_SCL=1
> _CRT_SECURE_NO_DEPRECATE
> _CRT_NONSTDC_NO_DEPRECATE
> _MBCS
> _VC80_UPGRADE=0x0600
> 
> I have built the cpp example that comes with amq-cpp. This works fine in 

> release mode.
> 
> When my app starts up it blows up with:
> 
> invalid map/set<T> argument.
> 
> Any idea what this means? It blows up before it even enters any amq-cpp 
> code. But the problem only happens when linking with amq-cpp and only in 

> release mode.
> 
> I am on Windows-XP (SP3) using VS 2005 (SP2).
> 
> Regards,
> 
> Andrew Marlow

You should ensure that you are building your app using the correct
runtime library, the amqcpp library requires the multithreaded dll
version of the runtime.  Or check that you aren't linking the debug
version of the amqcpp library with your release build. 

Regards


-- 
Tim Bish

Open Source Integration: http://fusesource.com
ActiveMQ in Action: http://www.manning.com/snyder/

Follow me on Twitter: http://twitter.com/tabish121
My Blog: http://timbish.blogspot.com/



___________________________________________________________
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and delete this e-mail. Any unauthorised copying, 
disclosure or distribution of the material in this e-mail is prohibited.

Please refer to 
http://www.bnpparibas.co.uk/en/information/legal_information.asp?Code=ECAS-845C5H
  for additional disclosures.

Reply via email to