[ https://issues.apache.org/jira/browse/QPID-5134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13765304#comment-13765304 ]
Gordon Sim commented on QPID-5134: ---------------------------------- I've changed the code to avoid using that template as it really isn't necessary for the delivery tag to be of variable width. > Windows compile error - framing::Buffer::getUInt() not exported from dll > ------------------------------------------------------------------------ > > Key: QPID-5134 > URL: https://issues.apache.org/jira/browse/QPID-5134 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: 0.24 > Environment: Windows + proton > Reporter: Chuck Rolke > > In framing::Buffer.h > {code} > template <int n> > QPID_COMMON_EXTERN uint64_t getUInt(); > {code} > In framing::Buffer.cpp > {code} > template <> > uint64_t Buffer::getUInt<1>() { > return getOctet(); > } > template <> > uint64_t Buffer::getUInt<2>() { > return getShort(); > } > ... > {code} > The code fails to link: > {noformat} > error LNK2019: unresolved external symbol > "unsigned __int64 qpid::framing::Buffer::getUInt<4>(void)" > referenced in function > "unsigned int qpid::broker::amqp::OutgoingFromQueue::Record:: > getIndex(struct pn_delivery_tag_t) > {noformat} > In previous issues (QPID-2926) windows code has manually generated instances > of the template functions so that the DLL could export them. This time that > trick doesn't work. > Is this code a violation of "The implementation of template functions must be > available in accessible header files to enable the compiler to generate the > code for the concrete type." ? > For completeness there is also a failure sister Buffer::putUInt<n>() > functions. Probably the same fix would be good for both errors. > I can think of some c-style solutions for this problem that would work > straight away... -- 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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org