[
https://issues.apache.org/jira/browse/THRIFT-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557770#comment-13557770
]
Chris Stylianou edited comment on THRIFT-1834 at 1/18/13 11:52 PM:
-------------------------------------------------------------------
Thanks for your explanation Ben, nice to see a repsonse that isn't just a one
word answer :)
I understand at the moment it is very difficult to preserve interface/binary
compatibility whilst development of the Thrift library itself progress towards
the golden "1.0.0" version, however:
- I can't see why if we decide to stick to a particular Thrift milestone
build/release (I.e.: 0.7, 0.8, 0.9, etc...) it can't be dynamically linked to
the applications/libraries that are built against it.
- Surely the excuse for boost/STL does not hold. On most platforms these
external libraries are almost always linked dynamically (In fact Microsoft
recommend not to distribute applications that statically link to their
libraries:
http://msdn.microsoft.com/en-us/library/ms235316%28v=vs.110%29.aspx). I
certainly link to boost everywhere else in my applications/libraries
dynamically without any development issues.
- Would this current design decision to be packaged as a static library be
reconsidered once Thrift reaches 1.0.0?
Also, I'm not sure I understand what you mean by 'Thrift is designed to be
packaged as a static library'. What real advantages do we get from statically
linking Thrift to our applications/libraries that we wouldn't get if we
dynamically linked to them .
Sorry, I'm not trying to be awkward, I'm just trying to understand the 'whys' :)
was (Author: chris5287):
Thanks for your explanation Ben, nice to see a repsonse that isn't just a
one word answer :)
I understand at the moment it is very difficult to preserve interface/binary
compatibility whilst development of the Thrift library itself progress towards
the golden "1.0.0" version, however:
- I can't see why if we decide to stick to a particular milestone build/release
(I.e.: 0.7, 0.8, 0.9, etc...) these can't be dynamically linked between
applications/libraries that make use of Thrift.
- Surely the excuse for boost/STL does not hold. On most platforms these
external libraries are almost always linked dynamically (In fact Microsoft
recommend not to distribute applications that statically link to their
libraries:
http://msdn.microsoft.com/en-us/library/ms235316%28v=vs.110%29.aspx). I
certainly link to boost everywhere else in my applications/libraries
dynamically without any development issues.
- Would this current design decision to be packaged as a static library be
reconsidered once Thrift reaches 1.0.0?
Also, I'm not sure I understand what you mean by 'Thrift is designed to be
packaged as a static library'. What real advantages do we get from statically
linking Thrift to our applications/libraries that we wouldn't get if we
dynamically linked to them .
Sorry, I'm not trying to be awkward, I'm just trying to understand the 'whys' :)
> Unable to build C++ Thrift dynamic library on Windows
> -----------------------------------------------------
>
> Key: THRIFT-1834
> URL: https://issues.apache.org/jira/browse/THRIFT-1834
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9
> Environment: Windows x86_64 MSVC 2010
> Reporter: Chris Stylianou
> Labels: dll, msvc, thrift, windows
>
> I am unable to build a valid .dll version of the Thrift C++ library using
> MSVC2010 as nothing has been declared with
> "__declspec(dllexport)/__declspec(dllimport)", meaning that MSVC2010 (and
> presumably all other versions) are unable to generate the import .lib that
> should accompany the .dll library.
--
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