Thanks! That looks like it ought to fix it.

I updated the Sandbox with the proposed fix, and was able to successfully build and run the tests and examples on MSVC 9 and GCC 4. Please let me know if that fixes the issue for MSVC 7.1.

Jeremy

On Sat, Apr 19, 2008 at 9:20 AM, Niels Dekker - mail address until 2008-12-31 <nd_mail_address_valid_until_2008-12-31@xs4all.nl> wrote:
David Matz wrote:
> error: error C2039: 'boost::get': Ist kein Element von
> 'boost::extensions::shared_library'

Jeremy Pack wrote:
> Please add the command line option /P to your build - this will output
> the preprocessed version of your file test_extension_and_optional.cpp.
> Then send this to me - I might be able to figure out what is going on.
> It looks like one of the preprocessor macros used by
> Boost.PreProcessor isn't working

It seems to me that the compile error isn't caused by Boost.PreProcessor.
Actually I think I've found a workaround: Explicitly qualify the
shared_library::get member function call in extension/convenience.hpp (line 29),
(by adding the class name, "shared_library::") and the MSVC 7.1 error message
disappears!


HTH, Niels

PS Here's the patch:

Index: convenience.hpp

===================================================================

--- convenience.hpp     (revision 44584)

+++ convenience.hpp     (working copy)

@@ -26,7 +26,7 @@

      return;
    }
    void (*func)(factory_map &) =
-      lib.get<void, factory_map &>(external_function_name);
+      lib.shared_library::get<void, factory_map &>(external_function_name);
    if (!func) {
      return;