stonier / ecl_core

A set of tools and interfaces extending the capabilities of c++ to provide a lightweight, consistent interface with a focus for control programming.
Other
84 stars 69 forks source link

ECL_HAS_EXCEPTIONS is false in release mode #6

Closed stonier closed 11 years ago

stonier commented 11 years ago

This is rather unintuitive, I should perhaps define this as ECL_HAS_DEBUG_EXCEPTIONS, and further define this differently.

pallegro commented 11 years ago

This is causing a build failure for me because in ecl_ipc/src/lib/shared_memory_pos.cpp openSharedSectionException and memoryMapException aren't defined due to ECL_HAS_EXCEPTIONS being false and they're used inside a ecl_throw rather than ecl_debug_throw (which seems to be used elsewhere for these).

What would you recommend: 1) replacing #ifdef ECL_HAS_EXCEPTIONS with #ifndef ECL_DISABLE_EXCEPTIONS so openSharedSectionException and memoryMapException get define, 2) replacing those two ecl_throw's with ecl_debug_throw's or, 3) making sure ECL_HAS_EXCEPTIONS is defined for all of ecl_core ?

Cheers

stonier commented 11 years ago

In america at the moment and I should get my head into this before I answer, so I'll have a poke on the weekend. Thanks for the heads up.

stonier commented 11 years ago

I have no problems in release mode. By chance was the fix that you're looking for put in 7246843e60b259be7400a07c49446b8f9c3cbc4d? If you have the latest source, or version 0.50.3, it should be fixed.

pallegro commented 11 years ago

Ahh, sorry, I was running 0.44.0 from trunk of https://code.google.com/p/embedded-control-library. FYI this is what is given at http://www.ros.org/wiki/ecl_core (and ecl_tools, ecl_litem, ecl_manipulation , ecl_navigation) and by roslocate.

stonier commented 11 years ago

Ah, looks like the documentation isn't getting generated since Nov 22.

I'll open a separate issue for that. Thanks for the heads up.

stonier commented 11 years ago

Following up in https://github.com/stonier/ecl_core/issues/8.

Was incorrectly trying to find doc repos at svn, not git.