Chuck Rolke created QPID-5100:
---------------------------------

             Summary: C++ Broker windows build exports amqp library classes in 
qpidcommon dll
                 Key: QPID-5100
                 URL: https://issues.apache.org/jira/browse/QPID-5100
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.22
         Environment: Windows build
            Reporter: Chuck Rolke
            Assignee: Chuck Rolke


The symbol export mechanism for the ampq library has an issue whereby all the 
exported symbols for amqp.dll are linked into qpidcommon.dll and exported from 
there.

To expose all the exports use:
{noformat}
cd qpid/cpp
find . -name "*.h" | xargs grep _EXTERN
{noformat}

The *_EXTERN then indicates for each symbol which export library the symbol 
originates. The symbols in question are all the ./amqp/ symbols pegged with the 
QPID_COMMON_EXTERN. For example:

{noformat}
./amqp/Decoder.h:    QPID_COMMON_EXTERN Decoder(const char*, size_t);
./amqp/Decoder.h:    QPID_COMMON_EXTERN CharSequence readSequence8();
./amqp/Decoder.h:    QPID_COMMON_EXTERN CharSequence readSequence32();
{noformat}

The fix for this problem is to copy one of the ImportExport.h pattern files and 
make it work for compiler symbol amqp_EXPORTS. Then change all the 
QPID_COMMON_EXPORTS in /amqp/*.h to QPID_AMQP_EXPORTS.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to